From dff01fc3761bc3f46003a3de981a7b85f4a9a471 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Mon, 26 Mar 2007 15:31:25 +0000 Subject: [PATCH 001/452] - (#233523: libboost_python needs rebuild against python 2.5) - (#225622: Merge Review: boost) Source to http. BuildRoot to preferred value. PreReq to post/postun -p Clarified BSL as GPL-Compatible, Free Software License. Remove Obsoletes. Add Provides boost-python. Remove mkdir -p $RPM_BUILD_ROOT%{_docdir} Added periods for decription text. Fix Group field. Remove doc Requires boost. Preserve timestamps on install. Use %defattr(-, root, root, -) Added static package for .a libs. Install static libs with 0644 permissions. Use %doc for doc files. --- boost.spec | 90 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 33 deletions(-) diff --git a/boost.spec b/boost.spec index c1afcaf..e03ba82 100644 --- a/boost.spec +++ b/boost.spec @@ -1,26 +1,23 @@ - -%define tarball_name boost_1_33_1 - Name: boost Summary: The Boost C++ Libraries Version: 1.33.1 -Release: 10%{?dist} -License: Boost Software License +Release: 11%{?dist} +License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries -Source: %{tarball_name}.tar.bz2 -BuildRoot: %{_tmppath}/boost-%{version}-root -Prereq: /sbin/ldconfig -BuildRequires: libstdc++-devel python +Source: %{name}_1_33_1.tar.bz2 +#Source: http://downloads.sourceforge.net/boost/boost_1_33_1.tar.bz2 +Provides: boost-python = %{version}-%{release} +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +BuildRequires: libstdc++-devel BuildRequires: bzip2-libs BuildRequires: bzip2-devel BuildRequires: zlib BuildRequires: zlib-devel +BuildRequires: python BuildRequires: python-devel BuildRequires: libicu BuildRequires: libicu-devel -Obsoletes: boost-doc <= 1.30.2 -Obsoletes: boost-python <= 1.30.2 Patch0: boost-base.patch Patch1: boost-gcc-tools.patch Patch2: boost-thread.patch @@ -41,29 +38,35 @@ libraries have already been proposed for inclusion in the C++ Standards Committee's upcoming C++ Standard Library Technical Report.) %package devel -Summary: The Boost C++ headers and development libraries -Group: System Environment/Libraries +Summary: The Boost C++ headers and shared development libraries +Group: Development/Libraries Requires: boost = %{version}-%{release} -Obsoletes: boost-python-devel <= 1.30.2 Provides: boost-python-devel = %{version}-%{release} %description devel -Headers, static libraries, and shared object symlinks for the Boost -C++ libraries +Headers and shared object symlinks for the Boost C++ libraries. + +%package static +Summary: The Boost C++ static development libraries +Group: Development/Libraries +Requires: boost = %{version}-%{release} +Provides: boost-python-devel = %{version}-%{release} + +%description static +Static libraries for the Boost C++ libraries. %package doc Summary: The Boost C++ html docs -Group: System Environment/Libraries -Requires: boost = %{version}-%{release} +Group: Documentation Provides: boost-python-docs = %{version}-%{release} %description doc -HTML documentation files for Boost C++ libraries +HTML documentation files for Boost C++ libraries. %prep -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} -%setup -n %{tarball_name} -q +%setup -q -n %{name}_1_33_1 %patch0 -p0 %patch1 -p0 %patch2 -p0 @@ -113,17 +116,16 @@ cd ../..; %install mkdir -p $RPM_BUILD_ROOT%{_libdir} mkdir -p $RPM_BUILD_ROOT%{_includedir} -mkdir -p $RPM_BUILD_ROOT%{_docdir} mkdir -p $RPM_BUILD_ROOT%{_docdir}/boost-%{version} # install lib for i in `find stage -type f -name \*.a`; do NAME=`basename $i`; - install -m 755 $i $RPM_BUILD_ROOT%{_libdir}/$NAME; + install -p -m 0644 $i $RPM_BUILD_ROOT%{_libdir}/$NAME; done; for i in `find stage -type f -name \*.so.*`; do NAME=`basename $i`; - install -m 755 $i $RPM_BUILD_ROOT%{_libdir}/$NAME; + install -p -m 755 $i $RPM_BUILD_ROOT%{_libdir}/$NAME; done; for i in `find stage -type l -name \*.so`; do NAME=`basename $i`; @@ -138,7 +140,7 @@ for i in `find boost -type d`; do mkdir -p $RPM_BUILD_ROOT%{_includedir}/$i done for i in `find boost -type f`; do - install -m 644 $i $RPM_BUILD_ROOT%{_includedir}/$i + install -p -m 644 $i $RPM_BUILD_ROOT%{_includedir}/$i done #install doc files @@ -147,35 +149,57 @@ for i in `find . -type d`; do mkdir -p $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i done for i in `find . -type f`; do - install -m 644 $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i + install -p -m 644 $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i done cd ../..; %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %post /sbin/ldconfig -%postun +%postun /sbin/ldconfig %files -%defattr(-, root, root) +%defattr(-, root, root, -) %{_libdir}/*.so.%{version} %{_libdir}/*.so.2 %files devel -%defattr(-, root, root) +%defattr(-, root, root, -) %{_includedir}/boost -%{_libdir}/*.a %{_libdir}/*.so +%files static +%defattr(-, root, root, -) +%{_libdir}/*.a + %files doc -%defattr(-, root, root) -%{_docdir}/boost-%{version} +%defattr(-, root, root, -) +%doc %{_docdir}/boost-%{version} %changelog +* Mon Mar 26 2007 Benjamin Kosnik 1.33.1-11 +- (#233523: libboost_python needs rebuild against python 2.5) +- (#225622: Merge Review: boost) + Source to http. + BuildRoot to preferred value. + PreReq to post/postun -p + Clarified BSL as GPL-Compatible, Free Software License. + Remove Obsoletes. + Add Provides boost-python. + Remove mkdir -p $RPM_BUILD_ROOT%{_docdir} + Added periods for decription text. + Fix Group field. + Remove doc Requires boost. + Preserve timestamps on install. + Use %defattr(-, root, root, -) + Added static package for .a libs. + Install static libs with 0644 permissions. + Use %doc for doc files. + * Thu Nov 23 2006 Benjamin Kosnik 1.33.1-10 - (#182414: boost: put tests in %check section) via Rex Dieter - Fix EVR with %{?dist} tag via Gianluca Sforna From e509989d1fae6c6374afc47ddc4a990fb1c10d38 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Mon, 26 Mar 2007 16:25:34 +0000 Subject: [PATCH 002/452] - (#233523: libboost_python needs rebuild against python 2.5) Use patch. Mon Mar 26 2007 Benjamin Kosnik 1.33.1-11 - (#225622: Merge Review: boost) Source to http. BuildRoot to preferred value. PreReq to post/postun -p Clarified BSL as GPL-Compatible, Free Software License. Remove Obsoletes. Add Provides boost-python. Remove mkdir -p $RPM_BUILD_ROOT%{_docdir} Added periods for decription text. Fix Group field. Remove doc Requires boost. Preserve timestamps on install. Use %defattr(-, root, root, -) Added static package for .a libs. Install static libs with 0644 permissions. Use %doc for doc files. --- boost-python-vs-x86-64.patch | 37 ++++++++++++++++++++++++++++++++++++ boost.spec | 9 +++++++-- 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 boost-python-vs-x86-64.patch diff --git a/boost-python-vs-x86-64.patch b/boost-python-vs-x86-64.patch new file mode 100644 index 0000000..2fa43d4 --- /dev/null +++ b/boost-python-vs-x86-64.patch @@ -0,0 +1,37 @@ +--- boost/python/detail/wrap_python.hpp 4 Nov 2005 21:38:29 -0000 1.22 ++++ boost/python/detail/wrap_python.hpp 12 Apr 2006 15:55:11 -0000 +@@ -141,6 +141,12 @@ + # include + #endif + ++#if PY_VERSION_HEX < 0x02050000 ++typedef int Py_ssize_t; ++#define PY_SSIZE_T_MIN INT_MIN ++#define PY_SSIZE_T_MAX INT_MAX ++#endif ++ + #ifdef BOOST_PYTHON_ULONG_MAX_UNDEFINED + # undef ULONG_MAX + # undef BOOST_PYTHON_ULONG_MAX_UNDEFINED + +diff -u -r1.7 object_protocol.cpp +--- libs/python/src/object_protocol.cpp 26 Jul 2004 00:32:11 -0000 1.7 ++++ libs/python/src/object_protocol.cpp 12 Apr 2006 15:55:31 -0000 +@@ -106,7 +106,7 @@ + PySequenceMethods *sq = tp->tp_as_sequence; + + if (sq && sq->sq_slice && ISINT(v) && ISINT(w)) { +- int ilow = 0, ihigh = INT_MAX; ++ Py_ssize_t ilow = 0, ihigh = PY_SSIZE_T_MAX; + if (!_PyEval_SliceIndex(v, &ilow)) + return NULL; + if (!_PyEval_SliceIndex(w, &ihigh)) +@@ -133,7 +133,7 @@ + PySequenceMethods *sq = tp->tp_as_sequence; + + if (sq && sq->sq_slice && ISINT(v) && ISINT(w)) { +- int ilow = 0, ihigh = INT_MAX; ++ Py_ssize_t ilow = 0, ihigh = PY_SSIZE_T_MAX; + if (!_PyEval_SliceIndex(v, &ilow)) + return -1; + if (!_PyEval_SliceIndex(w, &ihigh)) diff --git a/boost.spec b/boost.spec index e03ba82..739e626 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.33.1 -Release: 11%{?dist} +Release: 12%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -27,6 +27,7 @@ Patch5: boost-serialization-warnings.patch Patch6: boost-spirit-warnings.patch Patch7: boost-bind-gcc41.patch Patch8: boost-cxxflags-debug.patch +Patch9: boost-python-vs-x86-64.patch %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -76,6 +77,7 @@ rm -rf %{buildroot} %patch6 -p0 %patch7 -p0 %patch8 -p0 +%patch9 -p0 %build #build bjam @@ -181,8 +183,11 @@ rm -rf %{buildroot} %doc %{_docdir}/boost-%{version} %changelog -* Mon Mar 26 2007 Benjamin Kosnik 1.33.1-11 +* Mon Mar 26 2007 Benjamin Kosnik 1.33.1-12 - (#233523: libboost_python needs rebuild against python 2.5) + Use patch. + +* Mon Mar 26 2007 Benjamin Kosnik 1.33.1-11 - (#225622: Merge Review: boost) Source to http. BuildRoot to preferred value. From 07b7f88ff44f995adf8ee19ffaf7d16088509220 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Mon, 2 Apr 2007 14:42:09 +0000 Subject: [PATCH 003/452] - (#225622: Merge Review: boost) Change static to devel-static. --- boost.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/boost.spec b/boost.spec index 739e626..ecdc736 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.33.1 -Release: 12%{?dist} +Release: 13%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -47,13 +47,13 @@ Provides: boost-python-devel = %{version}-%{release} %description devel Headers and shared object symlinks for the Boost C++ libraries. -%package static +%package devel-static Summary: The Boost C++ static development libraries Group: Development/Libraries Requires: boost = %{version}-%{release} Provides: boost-python-devel = %{version}-%{release} -%description static +%description devel-static Static libraries for the Boost C++ libraries. %package doc @@ -174,7 +174,7 @@ rm -rf %{buildroot} %{_includedir}/boost %{_libdir}/*.so -%files static +%files devel-static %defattr(-, root, root, -) %{_libdir}/*.a @@ -183,6 +183,10 @@ rm -rf %{buildroot} %doc %{_docdir}/boost-%{version} %changelog +* Mon Apr 02 2007 Benjamin Kosnik 1.33.1-13 +- (#225622: Merge Review: boost) + Change static to devel-static. + * Mon Mar 26 2007 Benjamin Kosnik 1.33.1-12 - (#233523: libboost_python needs rebuild against python 2.5) Use patch. From 39a7ebf89df9a93e98d002ec9144b4aec35507d5 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Thu, 2 Aug 2007 05:48:06 +0000 Subject: [PATCH 004/452] - Update to boost_1_34_1. - Source via http. - Philipp Thomas fix for RPM_OPT_FLAGS - Philipp Thomas fix for .so sym links. - (#225622) Patrice Dumas review comments. --- .cvsignore | 4 +- boost-base.patch | 30 ------ boost-bind-gcc41.patch | 12 --- boost-config-compiler-gcc.patch | 21 ---- boost-configure.patch | 38 +++++++ boost-cxxflags-debug.patch | 53 --------- boost-gcc-soname.patch | 37 +++++++ boost-gcc-tools.patch | 29 ----- boost-python-vs-x86-64.patch | 37 ------- boost-run-tests.patch | 168 +++++++++++++++++++++++++++++ boost-runtests.patch | 81 -------------- boost-serialization-warnings.patch | 61 ----------- boost-spirit-warnings.patch | 48 --------- boost-thread.patch | 19 ---- boost-use-rpm-optflags.patch | 19 ++++ boost.spec | 162 +++++++++++++++++----------- sources | 4 +- 17 files changed, 361 insertions(+), 462 deletions(-) delete mode 100644 boost-base.patch delete mode 100644 boost-bind-gcc41.patch delete mode 100644 boost-config-compiler-gcc.patch create mode 100644 boost-configure.patch delete mode 100644 boost-cxxflags-debug.patch create mode 100644 boost-gcc-soname.patch delete mode 100644 boost-gcc-tools.patch delete mode 100644 boost-python-vs-x86-64.patch create mode 100644 boost-run-tests.patch delete mode 100644 boost-runtests.patch delete mode 100644 boost-serialization-warnings.patch delete mode 100644 boost-spirit-warnings.patch delete mode 100644 boost-thread.patch create mode 100644 boost-use-rpm-optflags.patch diff --git a/.cvsignore b/.cvsignore index 23bff37..47d9c28 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1 @@ -boost_1_33_0.tar.bz2 -boost-1.33.1.20051114.tar.bz2 -boost_1_33_1.tar.bz2 +boost_1_34_1.tar.bz2 diff --git a/boost-base.patch b/boost-base.patch deleted file mode 100644 index d8381f6..0000000 --- a/boost-base.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: tools/build/v1/boost-base.jam -=================================================================== -RCS file: /cvsroot/boost/boost/tools/build/v1/boost-base.jam,v -retrieving revision 1.129 -diff -c -p -r1.129 boost-base.jam -*** tools/build/v1/boost-base.jam 28 Jan 2004 22:50:17 -0000 1.129 ---- tools/build/v1/boost-base.jam 1 Apr 2004 22:48:45 -0000 -*************** rule common-variant-tag ( toolset varian -*** 2621,2630 **** - local version-tag = [ MATCH "^([^.]+).([^.]+)" : $(version-number[1]) ] ; - version-tag = $(version-tag:J="_") ; - -! tags += $(toolset-tag:J=) ; -! tags += $(thread-tag:J=) ; -! tags += $(runtime-tag:J=) ; -! tags += $(version-tag) ; - - if $(tags) - { ---- 2621,2630 ---- - local version-tag = [ MATCH "^([^.]+).([^.]+)" : $(version-number[1]) ] ; - version-tag = $(version-tag:J="_") ; - -! # tags += $(toolset-tag:J=) ; -! # tags += $(thread-tag:J=) ; -! # tags += $(runtime-tag:J=) ; -! # tags += $(version-tag) ; - - if $(tags) - { diff --git a/boost-bind-gcc41.patch b/boost-bind-gcc41.patch deleted file mode 100644 index ca3a76a..0000000 --- a/boost-bind-gcc41.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: boost/bind.hpp -=================================================================== ---- boost/bind.hpp.orig -+++ boost/bind.hpp -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - - // Borland-specific bug, visit_each() silently fails to produce code - diff --git a/boost-config-compiler-gcc.patch b/boost-config-compiler-gcc.patch deleted file mode 100644 index 7cbfc5c..0000000 --- a/boost-config-compiler-gcc.patch +++ /dev/null @@ -1,21 +0,0 @@ -*** boost/config/compiler/gcc.hpp.orig 2005-08-17 15:15:01.000000000 -0500 ---- boost/config/compiler/gcc.hpp 2005-08-17 15:15:19.000000000 -0500 -*************** -*** 91,98 **** - # error "Compiler not configured - please reconfigure" - #endif - // -! // last known and checked version is 4.0 (Pre-release): -! #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 0)) - # if defined(BOOST_ASSERT_CONFIG) - # error "Unknown compiler version - please run the configure tests and report the results" - # else ---- 91,98 ---- - # error "Compiler not configured - please reconfigure" - #endif - // -! // last known and checked version is 4.1 (Pre-release): -! #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 1)) - # if defined(BOOST_ASSERT_CONFIG) - # error "Unknown compiler version - please run the configure tests and report the results" - # else diff --git a/boost-configure.patch b/boost-configure.patch new file mode 100644 index 0000000..7ce1a52 --- /dev/null +++ b/boost-configure.patch @@ -0,0 +1,38 @@ +*** configure.orig 2007-01-16 01:39:00.000000000 +0100 +--- configure 2007-01-19 03:53:08.000000000 +0100 +*************** +*** 9,15 **** + + BJAM="" + TOOLSET="" +! BJAM_CONFIG="" + BUILD="" + PREFIX=/usr/local + EPREFIX= +--- 9,15 ---- + + BJAM="" + TOOLSET="" +! BJAM_CONFIG="-d2 --layout=system variant=release debug-symbols=on" + BUILD="" + PREFIX=/usr/local + EPREFIX= +*************** INCLUDEDIR=$INCLUDEDIR +*** 325,332 **** + LIBS=$LIBS + + all: .dummy +! @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS)" +! @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) || \\ + echo "Not all Boost libraries built properly." + + clean: .dummy +--- 325,332 ---- + LIBS=$LIBS + + all: .dummy +! @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage" +! @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage || \\ + echo "Not all Boost libraries built properly." + + clean: .dummy diff --git a/boost-cxxflags-debug.patch b/boost-cxxflags-debug.patch deleted file mode 100644 index 5ee5e29..0000000 --- a/boost-cxxflags-debug.patch +++ /dev/null @@ -1,53 +0,0 @@ -*** tools/build/v1/gcc-tools.jam.orig 2005-11-19 20:21:16.000000000 +0100 ---- tools/build/v1/gcc-tools.jam 2006-11-15 11:27:47.000000000 +0100 -*************** flags gcc UNDEFS ; -*** 338,344 **** - flags gcc HDRS ; - flags gcc SYSHDRS ; - flags gcc LINKFLAGS ; -! flags gcc LINKFLAGS off : -s ; - flags gcc ARFLAGS ; - - flags gcc STDHDRS : $(GCC_INCLUDE_DIRECTORY) ; ---- 338,344 ---- - flags gcc HDRS ; - flags gcc SYSHDRS ; - flags gcc LINKFLAGS ; -! #flags gcc LINKFLAGS off : -s ; - flags gcc ARFLAGS ; - - flags gcc STDHDRS : $(GCC_INCLUDE_DIRECTORY) ; -*************** actions gcc-Link-action bind NEEDLIBS NE -*** 478,484 **** - $(.SET_EXIT) - $(SHELL_SET)$(gSHELL_LIBPATH)=$(LINK_LIBPATH)$(gAPPEND_LD_LIBRARY_PATH) - $(SHELL_EXPORT)$(gSHELL_LIBPATH) -! "$(.GXX[1]:R=$(GCC_BIN_DIR))" $(.GXX[2-]) "$(DLL_LINK_FLAGS)" "$(IMPLIB_COMMAND)$(<[2])" $(LINKFLAGS) -o "$(<[1])$(OUTTAG)" -L"$(LIBPATH:T)" -L"$(STDLIBPATH:T)" "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" "$(IMPLIB_FLAGS)$(NEEDIMPS)" -l$(FINDLIBS) $(LNOPT)$(RPATH_LINK). $(LNOPT)$(SONAME)$(<[1]:D=)$(SOTAG) - $(ACTION_1)$(LN)$(_)-fs$(_)"$(<[1]:D=)$(OUTTAG)"$(_)"$(<[1])" - } - ---- 478,484 ---- - $(.SET_EXIT) - $(SHELL_SET)$(gSHELL_LIBPATH)=$(LINK_LIBPATH)$(gAPPEND_LD_LIBRARY_PATH) - $(SHELL_EXPORT)$(gSHELL_LIBPATH) -! "$(.GXX[1]:R=$(GCC_BIN_DIR))" $(.GXX[2-]) -g "$(DLL_LINK_FLAGS)" "$(IMPLIB_COMMAND)$(<[2])" $(LINKFLAGS) -o "$(<[1])$(OUTTAG)" -L"$(LIBPATH:T)" -L"$(STDLIBPATH:T)" "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" "$(IMPLIB_FLAGS)$(NEEDIMPS)" -l$(FINDLIBS) $(LNOPT)$(RPATH_LINK). $(LNOPT)$(SONAME)$(<[1]:D=)$(SOTAG) - $(ACTION_1)$(LN)$(_)-fs$(_)"$(<[1]:D=)$(OUTTAG)"$(_)"$(<[1])" - } - -*************** rule C++-action -*** 509,515 **** - actions gcc-C++-action - { - $(.SET_EXIT) -! "$(.GXX[1]:R=$(GCC_BIN_DIR))" $(.GXX[2-]) -c -Wall -ftemplate-depth-255 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I$(_)"$(STDHDRS)" -I$(_)"$(SYSHDRS)" -o "$(<)" "$(>)" - "$(.OBJCOPY[1])"$(_)$(OBJCOPY_FLAGS)$(_)"$(<)" - } - ---- 509,515 ---- - actions gcc-C++-action - { - $(.SET_EXIT) -! "$(.GXX[1]:R=$(GCC_BIN_DIR))" $(.GXX[2-]) -c -g -Wall -ftemplate-depth-255 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I$(_)"$(STDHDRS)" -I$(_)"$(SYSHDRS)" -o "$(<)" "$(>)" - "$(.OBJCOPY[1])"$(_)$(OBJCOPY_FLAGS)$(_)"$(<)" - } - diff --git a/boost-gcc-soname.patch b/boost-gcc-soname.patch new file mode 100644 index 0000000..ed83962 --- /dev/null +++ b/boost-gcc-soname.patch @@ -0,0 +1,37 @@ +*** tools/build/v2/tools/gcc.jam.orig 2007-05-03 08:09:04.000000000 +0200 +--- tools/build/v2/tools/gcc.jam 2007-06-26 20:37:44.000000000 +0200 +*************** if [ os.name ] != NT && [ os.name ] != O +*** 316,322 **** + # expected, therefore it has been disabled. + + HAVE_SONAME = "" ; +! SONAME_OPTION = -h ; + } + + +--- 316,323 ---- + # expected, therefore it has been disabled. + + HAVE_SONAME = "" ; +! SONAME_OPTION = -soname ; +! SONAME_VERSION = 2 ; + } + + +*************** rule link.dll ( targets * : sources * : +*** 631,637 **** + # Differ from 'link' above only by -shared. + actions link.dll bind LIBRARIES + { +! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) + } + + # Set up threading support. It's somewhat contrived, so perform it at the end, +--- 632,638 ---- + # Differ from 'link' above only by -shared. + actions link.dll bind LIBRARIES + { +! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) + } + + # Set up threading support. It's somewhat contrived, so perform it at the end, diff --git a/boost-gcc-tools.patch b/boost-gcc-tools.patch deleted file mode 100644 index 77031fe..0000000 --- a/boost-gcc-tools.patch +++ /dev/null @@ -1,29 +0,0 @@ -*** tools/build/v1/gcc-tools.jam.orig 2005-03-18 09:58:30.227128264 -0600 ---- tools/build/v1/gcc-tools.jam 2005-03-18 10:00:20.235025969 -0600 -*************** flags gcc FINDLIBS ; -*** 352,357 **** ---- 352,358 ---- - flags gcc DLLVERSION ; - DLLVERSION = $(DLLVERSION[1]) ; - DLLVERSION ?= $(BOOST_VERSION) ; -+ SONAMEVERSION = 2 ; - - flags gcc TARGET_TYPE ; - -*************** rule Link-action -*** 387,393 **** - if $(DLLVERSION) && $(TARGET_TYPE) in $(SHARED_TYPES) && ( $(OS) = LINUX || $(OS) = OPENBSD ) && ! $(NO_GNU_LN) - { - OUTTAG on $(<) = ".$(DLLVERSION)" ; -! SOTAG on $(<) = ".$(DLLVERSION)" ; - ACTION_1 on $(<) = "" ; - } - else ---- 388,394 ---- - if $(DLLVERSION) && $(TARGET_TYPE) in $(SHARED_TYPES) && ( $(OS) = LINUX || $(OS) = OPENBSD ) && ! $(NO_GNU_LN) - { - OUTTAG on $(<) = ".$(DLLVERSION)" ; -! SOTAG on $(<) = ".$(SONAMEVERSION)" ; - ACTION_1 on $(<) = "" ; - } - else diff --git a/boost-python-vs-x86-64.patch b/boost-python-vs-x86-64.patch deleted file mode 100644 index 2fa43d4..0000000 --- a/boost-python-vs-x86-64.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- boost/python/detail/wrap_python.hpp 4 Nov 2005 21:38:29 -0000 1.22 -+++ boost/python/detail/wrap_python.hpp 12 Apr 2006 15:55:11 -0000 -@@ -141,6 +141,12 @@ - # include - #endif - -+#if PY_VERSION_HEX < 0x02050000 -+typedef int Py_ssize_t; -+#define PY_SSIZE_T_MIN INT_MIN -+#define PY_SSIZE_T_MAX INT_MAX -+#endif -+ - #ifdef BOOST_PYTHON_ULONG_MAX_UNDEFINED - # undef ULONG_MAX - # undef BOOST_PYTHON_ULONG_MAX_UNDEFINED - -diff -u -r1.7 object_protocol.cpp ---- libs/python/src/object_protocol.cpp 26 Jul 2004 00:32:11 -0000 1.7 -+++ libs/python/src/object_protocol.cpp 12 Apr 2006 15:55:31 -0000 -@@ -106,7 +106,7 @@ - PySequenceMethods *sq = tp->tp_as_sequence; - - if (sq && sq->sq_slice && ISINT(v) && ISINT(w)) { -- int ilow = 0, ihigh = INT_MAX; -+ Py_ssize_t ilow = 0, ihigh = PY_SSIZE_T_MAX; - if (!_PyEval_SliceIndex(v, &ilow)) - return NULL; - if (!_PyEval_SliceIndex(w, &ihigh)) -@@ -133,7 +133,7 @@ - PySequenceMethods *sq = tp->tp_as_sequence; - - if (sq && sq->sq_slice && ISINT(v) && ISINT(w)) { -- int ilow = 0, ihigh = INT_MAX; -+ Py_ssize_t ilow = 0, ihigh = PY_SSIZE_T_MAX; - if (!_PyEval_SliceIndex(v, &ilow)) - return -1; - if (!_PyEval_SliceIndex(w, &ihigh)) diff --git a/boost-run-tests.patch b/boost-run-tests.patch new file mode 100644 index 0000000..ee39db0 --- /dev/null +++ b/boost-run-tests.patch @@ -0,0 +1,168 @@ +*** tools/regression/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500 +--- tools/regression/run_tests.sh 2007-08-01 12:17:25.000000000 -0500 +*************** +*** 15,21 **** + # This can be either a non-exitent directory or an already complete Boost + # source tree. + # +! boost_root="$HOME/CVSROOTs/Boost/boost_regression" + + # + # Wether to fetch the most current Boost code from CVS (yes/no): +--- 15,21 ---- + # This can be either a non-exitent directory or an already complete Boost + # source tree. + # +! boost_root="/usr/src/redhat/BUILD/boost_1_34_1" + + # + # Wether to fetch the most current Boost code from CVS (yes/no): +*************** test_tools=gcc +*** 42,58 **** + toolset=gcc + + # +- # "comment_path" is the path to an html-file describing the test environment. +- # The content of this file will be embedded in the status pages being produced. +- # +- comment_path="$boost_root/../regression_comment.html" +- # + # "test_dir" is the relative path to the directory to run the tests in, + # defaults to "status" and runs all the tests, but could be a sub-directory + # for example "libs/regex/test" to run the regex tests alone. + # + test_dir="status" + + + ### DEFAULTS ARE OK FOR THESE. + +--- 42,59 ---- + toolset=gcc + + # + # "test_dir" is the relative path to the directory to run the tests in, + # defaults to "status" and runs all the tests, but could be a sub-directory + # for example "libs/regex/test" to run the regex tests alone. + # + test_dir="status" + ++ # ++ # "comment_path" is the path to an html-file describing the test environment. ++ # The content of this file will be embedded in the status pages being produced. ++ # ++ comment_path="$boost_root/$test_dir/regression_comment.html" ++ + + ### DEFAULTS ARE OK FOR THESE. + +*************** exe_suffix= +*** 71,76 **** +--- 72,80 ---- + # + bjam="$boost_root/tools/jam/src/bin/bjam$exe_suffix" + ++ # bjam options ++ bjam_flags="--layout=system variant=release -sICU_PATH=/usr --user-config=$boost_root/user-config.jam" ++ + # + # "process_jam_log", and "compiler_status" paths to built helper programs: + # The location of the executables of the regression help programs. These +*************** else +*** 98,103 **** +--- 102,115 ---- + fi + export BOOST_BUILD_PATH + ++ # For shared objects. ++ old_ld_library_path=$LD_LIBRARY_PATH ++ old_ld_run_path=$LD_RUN_PATH ++ LD_LIBRARY_PATH="$boost_root/stage/lib:$old_ld_library_path" ++ LD_RUN_PATH="$boost_root/stage/lib:$old_ld_run_path" ++ export LD_LIBRARY_PATH ++ export LD_RUN_PATH ++ + # + # STEP 0: + # +*************** fi +*** 126,137 **** + # STEP 1: + # rebuild bjam if required: + # +! echo building bjam: +! cd "$boost_root/tools/jam/src" && \ +! LOCATE_TARGET=bin sh ./build.sh +! if test $? != 0 ; then +! echo "bjam build failed." +! exit 256 + fi + + # +--- 138,152 ---- + # STEP 1: + # rebuild bjam if required: + # +! echo "finding or building bjam": +! if test ! -f "$bjam" ; then +! echo "building bjam": +! cd "$boost_root/tools/jam/src" && \ +! LOCATE_TARGET=bin sh ./build.sh +! if test $? != 0 ; then +! echo "bjam build failed." +! exit 256 +! fi + fi + + # +*************** fi +*** 139,146 **** + # rebuild the regression test helper programs if required: + # + echo building regression test helper programs: +! cd "$boost_root/tools/regression/build" && \ +! "$bjam" $toolset release + if test $? != 0 ; then + echo "helper program build failed." + exit 256 +--- 154,160 ---- + # rebuild the regression test helper programs if required: + # + echo building regression test helper programs: +! cd "$boost_root/tools/regression/build" && "$bjam" $bjam_flags $toolset + if test $? != 0 ; then + echo "helper program build failed." + exit 256 +*************** for tool in $test_tools ; do +*** 158,164 **** + # + echo running the $tool regression tests: + cd "$boost_root/$test_dir" +! "$bjam" $tool --dump-tests 2>&1 | tee regress.log + + # + # STEP 4: +--- 172,180 ---- + # + echo running the $tool regression tests: + cd "$boost_root/$test_dir" +! echo "

begin time: " `date` "

" >> "$comment_path" +! "$bjam" $bjam_flags $tool --dump-tests 2>&1 | tee regress.log +! echo "

end time: " `date` "

" >> "$comment_path" + + # + # STEP 4: +*************** if test $? != 0 ; then +*** 185,190 **** +--- 201,212 ---- + exit 256 + fi + ++ # cleanup ++ LD_LIBRARY_PATH="$old_ld_library_path" ++ LD_RUN_PATH="$old_ld_run_path" ++ export LD_LIBRARY_PATH ++ export LD_RUN_PATH ++ + echo "done!" + + diff --git a/boost-runtests.patch b/boost-runtests.patch deleted file mode 100644 index 575d317..0000000 --- a/boost-runtests.patch +++ /dev/null @@ -1,81 +0,0 @@ -*** tools/regression/run_tests.sh.orig 2005-11-14 17:28:00.000000000 -0600 ---- tools/regression/run_tests.sh 2005-11-16 18:57:09.000000000 -0600 -*************** -*** 15,21 **** - # This can be either a non-exitent directory or an already complete Boost - # source tree. - # -! boost_root="$HOME/CVSROOTs/Boost/boost_regression" - - # - # Wether to fetch the most current Boost code from CVS (yes/no): ---- 15,21 ---- - # This can be either a non-exitent directory or an already complete Boost - # source tree. - # -! boost_root=`pwd`/../.. - - # - # Wether to fetch the most current Boost code from CVS (yes/no): -*************** toolset=gcc -*** 45,51 **** - # "comment_path" is the path to an html-file describing the test environment. - # The content of this file will be embedded in the status pages being produced. - # -! comment_path="$boost_root/../regression_comment.html" - - - ### DEFAULTS ARE OK FOR THESE. ---- 45,51 ---- - # "comment_path" is the path to an html-file describing the test environment. - # The content of this file will be embedded in the status pages being produced. - # -! comment_path="$boost_root/tools/regression/regression_comment.html" - - - ### DEFAULTS ARE OK FOR THESE. -*************** for tool in $test_tools ; do -*** 149,157 **** - # STEP 3: - # run the regression tests: - # - echo running the $tool regression tests: - cd "$boost_root/status" -! "$bjam" -sTOOLS=$tool --dump-tests test 2>&1 | tee regress.log - - # - # STEP 4: ---- 149,159 ---- - # STEP 3: - # run the regression tests: - # -+ PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') -+ PYTHON_FLAGS="-sPYTHON_ROOT=/usr -sPYTHON_VERSION=$PYTHON_VERSION" - echo running the $tool regression tests: - cd "$boost_root/status" -! "$bjam" $PYTHON_FLAGS -sTOOLS=$tool --dump-tests test 2>&1 | tee regress.log - - # - # STEP 4: -*************** done -*** 170,178 **** - # STEP 6: - # create the html table: - # -- uname=`uname` - echo generating html tables: -! "$compiler_status" --comment "$comment_path" "$boost_root" cs-$uname.html cs-$uname-links.html - if test $? != 0 ; then - echo "Failed HTML result table generation." - exit 256 ---- 172,181 ---- - # STEP 6: - # create the html table: - # - echo generating html tables: -! echo "" -! echo "$compiler_status --comment $comment_path $boost_root results.html results-links.html" -! "$compiler_status" --comment "$comment_path" "$boost_root" results.html results-links.html - if test $? != 0 ; then - echo "Failed HTML result table generation." - exit 256 diff --git a/boost-serialization-warnings.patch b/boost-serialization-warnings.patch deleted file mode 100644 index 4fba549..0000000 --- a/boost-serialization-warnings.patch +++ /dev/null @@ -1,61 +0,0 @@ -*** boost/serialization/nvp.hpp.orig 2006-11-13 12:18:36.000000000 +0100 ---- boost/serialization/nvp.hpp 2006-11-13 12:19:03.000000000 +0100 -*************** struct nvp : -*** 43,51 **** - public std::pair, - public wrapper_traits > - { -! explicit nvp(const char * name, T & t) : - // note: redundant cast works around borland issue -! std::pair(name, (T*)(& t)) - {} - nvp(const nvp & rhs) : - // note: redundant cast works around borland issue ---- 43,51 ---- - public std::pair, - public wrapper_traits > - { -! explicit nvp(const char * name_, T & t) : - // note: redundant cast works around borland issue -! std::pair(name_, (T*)(& t)) - {} - nvp(const nvp & rhs) : - // note: redundant cast works around borland issue -*** boost/archive/detail/iserializer.hpp.orig 2006-11-13 12:25:02.000000000 +0100 ---- boost/archive/detail/iserializer.hpp 2006-11-13 12:25:43.000000000 +0100 -*************** public: -*** 123,129 **** - return boost::serialization::implementation_level::value - >= boost::serialization::object_class_info; - } -! virtual bool tracking(const unsigned int flags) const { - // if(0 != (flags & no_tracking)) - // return false; - return boost::serialization::tracking_level::value ---- 123,129 ---- - return boost::serialization::implementation_level::value - >= boost::serialization::object_class_info; - } -! virtual bool tracking(const unsigned int) const { - // if(0 != (flags & no_tracking)) - // return false; - return boost::serialization::tracking_level::value -*** boost/archive/detail/oserializer.hpp.orig 2006-11-13 12:25:06.000000000 +0100 ---- boost/archive/detail/oserializer.hpp 2006-11-13 12:25:57.000000000 +0100 -*************** public: -*** 115,121 **** - return boost::serialization::implementation_level::value - >= boost::serialization::object_class_info; - } -! virtual bool tracking(const unsigned int flags) const { - // if(0 != (flags & no_tracking)) - // return false; - return boost::serialization::tracking_level::value == boost::serialization::track_always ---- 115,121 ---- - return boost::serialization::implementation_level::value - >= boost::serialization::object_class_info; - } -! virtual bool tracking(const unsigned int) const { - // if(0 != (flags & no_tracking)) - // return false; - return boost::serialization::tracking_level::value == boost::serialization::track_always diff --git a/boost-spirit-warnings.patch b/boost-spirit-warnings.patch deleted file mode 100644 index 983edaf..0000000 --- a/boost-spirit-warnings.patch +++ /dev/null @@ -1,48 +0,0 @@ -*** boost/spirit/core/non_terminal/impl/rule.ipp.orig 2006-11-13 11:54:53.000000000 +0100 ---- boost/spirit/core/non_terminal/impl/rule.ipp 2006-11-13 11:55:31.000000000 +0100 -*************** namespace boost { namespace spirit { -*** 224,230 **** - template - struct concrete_parser : abstract_parser - { -! concrete_parser(ParserT const& p) : p(p) {} - virtual ~concrete_parser() {} - - virtual typename match_result::type ---- 224,230 ---- - template - struct concrete_parser : abstract_parser - { -! concrete_parser(ParserT const& p_) : p(p_) {} - virtual ~concrete_parser() {} - - virtual typename match_result::type -*** boost/spirit/core/impl/match.ipp.orig 2006-11-13 11:55:48.000000000 +0100 ---- boost/spirit/core/impl/match.ipp 2006-11-13 11:57:19.000000000 +0100 -*************** namespace boost { namespace spirit -*** 17,28 **** - : len(-1), val() {} - - template -! inline match::match(std::size_t length) -! : len(length), val() {} - - template -! inline match::match(std::size_t length, ctor_param_t val_) -! : len(length), val(val_) {} - - template - inline bool ---- 17,29 ---- - : len(-1), val() {} - - template -! inline match::match(std::size_t length_) -! : len(length_), val() {} - - template -! inline match::match(std::size_t length_, ctor_param_t val_) -! : len(length_), val(val_) {} - - template - inline bool diff --git a/boost-thread.patch b/boost-thread.patch deleted file mode 100644 index 787e1af..0000000 --- a/boost-thread.patch +++ /dev/null @@ -1,19 +0,0 @@ -*** boost/config/compiler/gcc.hpp.orig 2005-03-15 22:34:33.881774946 -0600 ---- boost/config/compiler/gcc.hpp 2005-03-15 22:33:35.247609622 -0600 -*************** -*** 59,65 **** - // those platforms where we can know for sure). It will get turned off again - // later if no threading API is detected. - // -! #if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) - # define BOOST_HAS_THREADS - #endif - ---- 59,65 ---- - // those platforms where we can know for sure). It will get turned off again - // later if no threading API is detected. - // -! #if !defined(__MINGW32__) - # define BOOST_HAS_THREADS - #endif - diff --git a/boost-use-rpm-optflags.patch b/boost-use-rpm-optflags.patch new file mode 100644 index 0000000..6fe2960 --- /dev/null +++ b/boost-use-rpm-optflags.patch @@ -0,0 +1,19 @@ +*** tools/build/v2/tools/gcc.jam.orig 2007-08-01 01:17:16.000000000 -0500 +--- tools/build/v2/tools/gcc.jam 2007-08-01 01:17:46.000000000 -0500 +*************** flags gcc.compile PCH_FILE on : off : -O0 ; +! flags gcc.compile OPTIONS speed : -O3 ; + flags gcc.compile OPTIONS space : -Os ; + + flags gcc.compile OPTIONS off : -fno-inline ; +--- 268,274 ---- + + # Declare flags and action for compilation + flags gcc.compile OPTIONS off : -O0 ; +! flags gcc.compile OPTIONS speed : "$RPM_OPT_FLAGS" ; + flags gcc.compile OPTIONS space : -Os ; + + flags gcc.compile OPTIONS off : -fno-inline ; diff --git a/boost.spec b/boost.spec index ecdc736..047a7d7 100644 --- a/boost.spec +++ b/boost.spec @@ -1,13 +1,16 @@ Name: boost Summary: The Boost C++ Libraries -Version: 1.33.1 -Release: 13%{?dist} +Version: 1.34.1 +Release: 1%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries -Source: %{name}_1_33_1.tar.bz2 -#Source: http://downloads.sourceforge.net/boost/boost_1_33_1.tar.bz2 +#Source: %{name}_1_34_1.tar.bz2 +Source: http://downloads.sourceforge.net/boost/boost_1_34_1.tar.bz2 +Obsoletes: boost-doc <= 1.30.2 +Obsoletes: boost-python <= 1.30.2 Provides: boost-python = %{version}-%{release} +Provides: boost-doc = %{version}-%{release} BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: libstdc++-devel BuildRequires: bzip2-libs @@ -18,16 +21,10 @@ BuildRequires: python BuildRequires: python-devel BuildRequires: libicu BuildRequires: libicu-devel -Patch0: boost-base.patch -Patch1: boost-gcc-tools.patch -Patch2: boost-thread.patch -Patch3: boost-config-compiler-gcc.patch -Patch4: boost-runtests.patch -Patch5: boost-serialization-warnings.patch -Patch6: boost-spirit-warnings.patch -Patch7: boost-bind-gcc41.patch -Patch8: boost-cxxflags-debug.patch -Patch9: boost-python-vs-x86-64.patch +Patch0: boost-configure.patch +Patch1: boost-gcc-soname.patch +Patch2: boost-use-rpm-optflags.patch +Patch3: boost-run-tests.patch %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -67,55 +64,69 @@ HTML documentation files for Boost C++ libraries. %prep rm -rf %{buildroot} -%setup -q -n %{name}_1_33_1 +%setup -q -n %{name}_1_34_1 %patch0 -p0 %patch1 -p0 %patch2 -p0 %patch3 -p0 -%patch4 -p0 -%patch5 -p0 -%patch6 -p0 -%patch7 -p0 -%patch8 -p0 -%patch9 -p0 %build -#build bjam -(cd tools/build/jam_src && ./build.sh) +BOOST_ROOT=`pwd` +staged_dir=stage +export BOOST_ROOT -#build boost with bjam -BJAM=`find tools/build/jam_src/ -name bjam -a -type f` -#BUILD_FLAGS="-sTOOLS=gcc -sBUILD=release 1" -#BUILD_FLAGS="-sTOOLS=gcc -sBUILD=release" -BUILD_FLAGS="-d2 -sTOOLS=gcc -sBUILD=release" +# build make tools, ie bjam, necessary for building libs, docs, and testing +(cd tools/jam/src && ./build.sh) +BJAM=`find tools/jam/src/ -name bjam -a -type f` + +#BUILD_FLAGS="--with-toolset=gcc --prefix=$RPM_BUILD_ROOT%{_prefix}" +BUILD_FLAGS="--with-toolset=gcc" PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') -PYTHON_FLAGS="-sPYTHON_ROOT=/usr -sPYTHON_VERSION=$PYTHON_VERSION" -REGEX_FLAGS="-sHAVE_ICU=1" -$BJAM $PYTHON_FLAGS $REGEX_FLAGS $BUILD_FLAGS stage +PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION" +REGEX_FLAGS="--with-icu" +./configure $BUILD_FLAGS $PYTHON_FLAGS $REGEX_FLAGS +make all + +# build docs, requires a network connection for docbook XSLT stylesheets +#cd ./doc +#chmod +x ../tools/boostbook/setup_boostbook.sh +#../tools/boostbook/setup_boostbook.sh +#$BOOST_ROOT/$BJAM --v2 -sICU_PATH=/usr --user-config=../user-config.jam html +#cd .. %check -BOOST_ROOT=`pwd`; -cd tools/regression; -(cd ./build && $BOOST_ROOT/$BJAM) -echo "

" `uname -a` "

" > regression_comment.html; -echo "" >> regression_comment.html; -echo "

" `g++ --version` "

" >> regression_comment.html; -chmod +x ./run_tests.sh; -#uncomment next line to run tests: warning, takes a long time -#./run_tests.sh; -results1=$BOOST_ROOT/status/results.html -results2=$BOOST_ROOT/status/results-links.html -if [ -f $results2 ] && [ -f $results2 ]; then - testdate=`date +%Y%m%d`; - testarch=`uname -m`; - email=bkoz@redhat.com - mail -s "$testdate boost regression $testarch 1" $email < $results1; - mail -s "$testdate boost regression $testarch 2" $email < $results2; -fi -cd ../..; +# --with tests activates checking +%define with_tests %{?_with_tests:1}%{!?_with_tests:0} +%define without_tests %{!?_with_tests:1}%{?_with_tests:0} +%if %{with_tests} +echo "

" `uname -a` "

" > status/regression_comment.html +echo "" >> status/regression_comment.html +echo "

" `g++ --version` "

" >> status/regression_comment.html +echo "" >> status/regression_comment.html + +chmod +x tools/regression/run_tests.sh +./tools/regression/run_tests.sh + +results1=status/cs-`uname`.html +results2=status/cs-`uname`-links.html +email=benjamin.kosnik@gmail.com +if [ -f $results1 ] && [ -f $results2 ]; then + echo "sending results starting" + testdate=`date +%Y%m%d` + testarch=`uname -m` + results=boost-results-$testdate-$testarch.tar.bz2 + tar -cvf boost-results-$testdate-$testarch.tar $results1 $results2 + bzip2 -f boost-results-$testdate-$testarch.tar + echo | mutt -s "$testdate boost regression $testarch" -a $results $email + echo "sending results finished" +else + echo "error sending results" +fi +%endif %install +rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_libdir} mkdir -p $RPM_BUILD_ROOT%{_includedir} mkdir -p $RPM_BUILD_ROOT%{_docdir}/boost-%{version} @@ -125,16 +136,20 @@ for i in `find stage -type f -name \*.a`; do NAME=`basename $i`; install -p -m 0644 $i $RPM_BUILD_ROOT%{_libdir}/$NAME; done; -for i in `find stage -type f -name \*.so.*`; do - NAME=`basename $i`; - install -p -m 755 $i $RPM_BUILD_ROOT%{_libdir}/$NAME; -done; -for i in `find stage -type l -name \*.so`; do - NAME=`basename $i`; - SONAME=$NAME.2; - ln -s $NAME.%{version} $SONAME; - mv $SONAME $RPM_BUILD_ROOT%{_libdir}/$SONAME; - mv $i $RPM_BUILD_ROOT%{_libdir}/$NAME; +for i in `find stage -type f -name \*.so`; do + NAME=$i; + SONAME=$i.2; + VNAME=$i.%{version}; + base=`basename $i`; + NAMEbase=$base; + SONAMEbase=$base.2; + VNAMEbase=$base.%{version}; + mv $i $VNAME; + ln -s $VNAMEbase $SONAME; + ln -s $VNAMEbase $NAME; + install -p -m 755 $VNAME $RPM_BUILD_ROOT%{_libdir}/$VNAMEbase; + mv $SONAME $RPM_BUILD_ROOT%{_libdir}/$SONAMEbase; + mv $NAME $RPM_BUILD_ROOT%{_libdir}/$NAMEbase; done; # install include files @@ -155,14 +170,15 @@ for i in `find . -type f`; do done cd ../..; +# remove scripts used to generate include files +find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \; + %clean -rm -rf %{buildroot} +rm -rf $RPM_BUILD_ROOT -%post -/sbin/ldconfig +%post -p /sbin/ldconfig -%postun -/sbin/ldconfig +%postun -p /sbin/ldconfig %files %defattr(-, root, root, -) @@ -183,6 +199,16 @@ rm -rf %{buildroot} %doc %{_docdir}/boost-%{version} %changelog +* Tue Jul 31 2007 Benjamin Kosnik 1.34.1-1 +- Update to boost_1_34_1. +- Source via http. +- Philipp Thomas fix for RPM_OPT_FLAGS +- Philipp Thomas fix for .so sym links. +- (#225622) Patrice Dumas review comments. + +* Tue Jun 26 2007 Benjamin Kosnik 1.34.1.rc1-0.1 +- Update to boost_1_34_1_RC1. + * Mon Apr 02 2007 Benjamin Kosnik 1.33.1-13 - (#225622: Merge Review: boost) Change static to devel-static. @@ -209,6 +235,12 @@ rm -rf %{buildroot} Install static libs with 0644 permissions. Use %doc for doc files. +* Mon Jan 22 2007 Benjamin Kosnik 1.34.0-0.5 +- Update to boost.RC_1_34_0 snapshot as of 2007-01-19. +- Modify build procedures for boost build v2. +- Add *-mt variants for libraries, or at least variants that use + threads (regex and thread). + * Thu Nov 23 2006 Benjamin Kosnik 1.33.1-10 - (#182414: boost: put tests in %check section) via Rex Dieter - Fix EVR with %{?dist} tag via Gianluca Sforna diff --git a/sources b/sources index 051bef7..f8946f7 100644 --- a/sources +++ b/sources @@ -1,3 +1 @@ -56fafc275dc0e195ec2f27e8769482cc boost_1_33_0.tar.bz2 -74785688e823771402cfa5753fe95b8a boost-1.33.1.20051114.tar.bz2 -2b999b2fb7798e1737d1fff8fac602ef boost_1_33_1.tar.bz2 +2d938467e8a448a2c9763e0a9f8ca7e5 boost_1_34_1.tar.bz2 From 9e0e8525075a69d7f05878c3182d81492e27eccd Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Fri, 3 Aug 2007 02:57:47 +0000 Subject: [PATCH 005/452] - SONAME to 3. --- boost-gcc-soname.patch | 2 +- boost.spec | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/boost-gcc-soname.patch b/boost-gcc-soname.patch index ed83962..f26b033 100644 --- a/boost-gcc-soname.patch +++ b/boost-gcc-soname.patch @@ -14,7 +14,7 @@ HAVE_SONAME = "" ; ! SONAME_OPTION = -soname ; -! SONAME_VERSION = 2 ; +! SONAME_VERSION = 3 ; } diff --git a/boost.spec b/boost.spec index 047a7d7..5f1d303 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 1%{?dist} +Release: 2%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -138,11 +138,11 @@ for i in `find stage -type f -name \*.a`; do done; for i in `find stage -type f -name \*.so`; do NAME=$i; - SONAME=$i.2; + SONAME=$i.3; VNAME=$i.%{version}; base=`basename $i`; NAMEbase=$base; - SONAMEbase=$base.2; + SONAMEbase=$base.3; VNAMEbase=$base.%{version}; mv $i $VNAME; ln -s $VNAMEbase $SONAME; @@ -183,7 +183,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-, root, root, -) %{_libdir}/*.so.%{version} -%{_libdir}/*.so.2 +%{_libdir}/*.so.3 %files devel %defattr(-, root, root, -) @@ -199,6 +199,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog +* Thu Aug 02 2007 Benjamin Kosnik 1.34.1-2 +- SONAME to 3. + * Tue Jul 31 2007 Benjamin Kosnik 1.34.1-1 - Update to boost_1_34_1. - Source via http. From 26fa8e5c89159c70bd72d6bcaaf81dfb27902fc3 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Wed, 8 Aug 2007 16:00:52 +0000 Subject: [PATCH 006/452] - Rebuild for icu 3.8 bump. --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 5f1d303..463f191 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 2%{?dist} +Release: 3%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -199,6 +199,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog +* Wed Aug 08 2007 Benjamin Kosnik 1.34.1-3 +- Rebuild for icu 3.8 bump. + * Thu Aug 02 2007 Benjamin Kosnik 1.34.1-2 - SONAME to 3. From b1c34ba88731fe83d3f324a3aa1bfb9b9ce5d874 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Tue, 21 Aug 2007 16:20:04 +0000 Subject: [PATCH 007/452] - Rebuild. --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 463f191..090b977 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 3%{?dist} +Release: 4%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -199,6 +199,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog +* Tue Aug 21 2007 Benjamin Kosnik 1.34.1-4 +- Rebuild. + * Wed Aug 08 2007 Benjamin Kosnik 1.34.1-3 - Rebuild for icu 3.8 bump. From f6f76de1e6c61569041327c6a824a8b7f85aa803 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Thu, 20 Sep 2007 00:50:48 +0000 Subject: [PATCH 008/452] - (#283771: Linking against boost libraries fails). --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 090b977..0b2bb1c 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 4%{?dist} +Release: 5%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -199,6 +199,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog +* Wed Sep 19 2007 Benjamin Kosnik 1.34.1-5 +- (#283771: Linking against boost libraries fails). + * Tue Aug 21 2007 Benjamin Kosnik 1.34.1-4 - Rebuild. From 46b662e322d8da0ac559d259cf31698874cf075d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Mon, 15 Oct 2007 17:13:04 +0000 Subject: [PATCH 009/452] b* batch fix for https://hosted.fedoraproject.org/projects/fedora-infrastructure/ticket/ 42 --- Makefile | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a4a9647..8ebb4c7 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,21 @@ # Makefile for source rpm: boost -# $Id: Makefile,v 1.1 2004/09/09 03:35:58 cvsdist Exp $ +# $Id: Makefile,v 1.3 2005/08/19 17:39:58 bkoz Exp $ NAME := boost SPECFILE = $(firstword $(wildcard *.spec)) -include ../common/Makefile.common +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attempt a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) From 8b63e4c402e72dab26a844790c3a851b0b034050 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 16 Jan 2008 16:27:11 +0000 Subject: [PATCH 010/452] - Fixes for boost.regex (rev 42674). --- boost-regex.patch | 40 ++++++++++++++++++++++++++++++++++++++++ boost.spec | 7 ++++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 boost-regex.patch diff --git a/boost-regex.patch b/boost-regex.patch new file mode 100644 index 0000000..9260afc --- /dev/null +++ b/boost-regex.patch @@ -0,0 +1,40 @@ +*** boost/regex/v4/basic_regex_parser.hpp.orig 2008-01-14 12:53:01.000000000 -0600 +--- boost/regex/v4/basic_regex_parser.hpp 2008-01-14 12:57:25.000000000 -0600 +*************** bool basic_regex_parser:: +*** 777,782 **** +--- 777,783 ---- + case syntax_element_restart_continue: + case syntax_element_jump: + case syntax_element_startmark: ++ case syntax_element_backstep: + // can't legally repeat any of the above: + fail(regex_constants::error_badrepeat, m_position - m_base); + return false; +*************** bool basic_regex_parser:: +*** 1862,1867 **** +--- 1863,1869 ---- + if(markid == -4) + { + re_syntax_base* b = this->getaddress(expected_alt_point); ++ // Make sure we have exactly one alternative following this state: + if(b->type != syntax_element_alt) + { + re_alt* alt = static_cast(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt))); +*************** bool basic_regex_parser:: +*** 1872,1877 **** +--- 1874,1888 ---- + fail(regex_constants::error_bad_pattern, m_position - m_base); + return false; + } ++ // check for invalid repetition of next state: ++ b = this->getaddress(expected_alt_point); ++ b = this->getaddress(static_cast(b)->next.i, b); ++ if((b->type != syntax_element_assert_backref) ++ && (b->type != syntax_element_startmark)) ++ { ++ fail(regex_constants::error_badrepeat, m_position - m_base); ++ return false; ++ } + } + // + // append closing parenthesis state: diff --git a/boost.spec b/boost.spec index 0b2bb1c..2c524b2 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 5%{?dist} +Release: 6%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -25,6 +25,7 @@ Patch0: boost-configure.patch Patch1: boost-gcc-soname.patch Patch2: boost-use-rpm-optflags.patch Patch3: boost-run-tests.patch +Patch4: boost-regex.patch %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -69,6 +70,7 @@ rm -rf %{buildroot} %patch1 -p0 %patch2 -p0 %patch3 -p0 +%patch4 -p0 %build BOOST_ROOT=`pwd` @@ -199,6 +201,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog +* Mon Jan 14 2008 Benjamin Kosnik 1.34.1-6 +- Fixes for boost.regex (rev 42674). + * Wed Sep 19 2007 Benjamin Kosnik 1.34.1-5 - (#283771: Linking against boost libraries fails). From a94fed9eaf9e464b859e1cf9fae85c648d40fd40 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 16 Jan 2008 16:31:14 +0000 Subject: [PATCH 011/452] Forgotten cvs -q up -d caused this to be tagged with f8. Bumbing release to avoid problems. --- boost.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/boost.spec b/boost.spec index 2c524b2..7016bce 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 6%{?dist} +Release: 7%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -201,7 +201,7 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog -* Mon Jan 14 2008 Benjamin Kosnik 1.34.1-6 +* Mon Jan 14 2008 Benjamin Kosnik 1.34.1-7 - Fixes for boost.regex (rev 42674). * Wed Sep 19 2007 Benjamin Kosnik 1.34.1-5 From 7bb17cb51cb7be029fb302cc3041a109a26c7cfb Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 6 Feb 2008 15:53:03 +0000 Subject: [PATCH 012/452] - Add an include to boost/spirit/phoenix/operators.hpp - Resolves: #431609 --- boost-phoenix-limits.patch | 12 ++++++++++++ boost.spec | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 boost-phoenix-limits.patch diff --git a/boost-phoenix-limits.patch b/boost-phoenix-limits.patch new file mode 100644 index 0000000..baa3645 --- /dev/null +++ b/boost-phoenix-limits.patch @@ -0,0 +1,12 @@ +diff -urp boost_1_34_1/boost/spirit/phoenix/operators.hpp boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp +--- boost_1_34_1/boost/spirit/phoenix/operators.hpp 2006-08-25 18:27:30.000000000 +0200 ++++ boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp 2008-02-06 16:29:32.000000000 +0100 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + /////////////////////////////////////////////////////////////////////////////// + namespace phoenix { +Only in boost_1_34_1.pm/boost/spirit/phoenix: operators.hpp~ diff --git a/boost.spec b/boost.spec index 7016bce..c9a516d 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 7%{?dist} +Release: 8%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -26,6 +26,7 @@ Patch1: boost-gcc-soname.patch Patch2: boost-use-rpm-optflags.patch Patch3: boost-run-tests.patch Patch4: boost-regex.patch +Patch5: boost-phoenix-limits.patch %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -71,6 +72,7 @@ rm -rf %{buildroot} %patch2 -p0 %patch3 -p0 %patch4 -p0 +%patch5 -p1 %build BOOST_ROOT=`pwd` @@ -201,6 +203,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog +* Wed Feb 6 2008 Petr Machata - 1.34.1-8 +- Add an include to boost/spirit/phoenix/operators.hpp +- Resolves: #431609 + * Mon Jan 14 2008 Benjamin Kosnik 1.34.1-7 - Fixes for boost.regex (rev 42674). From 73ed8a269d1fc45eb1e31e71c780ef8f047a08a6 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 6 Feb 2008 17:48:07 +0000 Subject: [PATCH 013/452] - Fixes for GCC 4.3 - Resolves: #431609 - Single '%' signs appearing over the spec have been replaced with "%%" combo --- boost-gcc43.patch | 140 +++++++++++++++++++++++++++++++++++++ boost-phoenix-limits.patch | 12 ---- boost.spec | 18 ++--- 3 files changed, 149 insertions(+), 21 deletions(-) create mode 100644 boost-gcc43.patch delete mode 100644 boost-phoenix-limits.patch diff --git a/boost-gcc43.patch b/boost-gcc43.patch new file mode 100644 index 0000000..9208409 --- /dev/null +++ b/boost-gcc43.patch @@ -0,0 +1,140 @@ +diff -urp boost_1_34_1/boost/spirit/phoenix/operators.hpp boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp +--- boost_1_34_1/boost/spirit/phoenix/operators.hpp 2006-08-25 18:27:30.000000000 +0200 ++++ boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp 2008-02-06 16:29:32.000000000 +0100 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + /////////////////////////////////////////////////////////////////////////////// + namespace phoenix { +diff -urp boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp +--- boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2006-07-16 18:06:38.000000000 +0200 ++++ boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp 2008-02-06 17:36:42.000000000 +0100 +@@ -24,6 +24,8 @@ + # include BOOST_ABI_PREFIX + #endif + ++#include ++ + namespace boost{ + + namespace re_detail{ +diff -urp boost_1_34_1/boost/regex/v4/basic_regex.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp +--- boost_1_34_1/boost/regex/v4/basic_regex.hpp 2007-06-05 19:28:18.000000000 +0200 ++++ boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp 2008-02-06 17:33:30.000000000 +0100 +@@ -23,6 +23,8 @@ + # include BOOST_ABI_PREFIX + #endif + ++#include ++ + namespace boost{ + #ifdef BOOST_MSVC + #pragma warning(push) +diff -urp boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp +--- boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-02-06 17:45:26.000000000 +0100 ++++ boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp 2008-02-06 17:38:58.000000000 +0100 +@@ -23,6 +23,8 @@ + # include BOOST_ABI_PREFIX + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +diff -urp boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp +--- boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp 2007-01-15 12:09:44.000000000 +0100 ++++ boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp 2008-02-06 17:26:51.000000000 +0100 +@@ -41,6 +41,7 @@ + + #include + #include ++#include + + #ifdef BOOST_HAS_ABI_HEADERS + # include BOOST_ABI_PREFIX +diff -urp boost_1_34_1/boost/regex/v4/perl_matcher.hpp boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp +--- boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2006-10-18 14:55:30.000000000 +0200 ++++ boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp 2008-02-06 17:39:44.000000000 +0100 +@@ -18,6 +18,8 @@ + # include BOOST_ABI_PREFIX + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +diff -urp boost_1_34_1/boost/regex/v4/regex_split.hpp boost_1_34_1.pm/boost/regex/v4/regex_split.hpp +--- boost_1_34_1/boost/regex/v4/regex_split.hpp 2005-01-21 18:22:38.000000000 +0100 ++++ boost_1_34_1.pm/boost/regex/v4/regex_split.hpp 2008-02-06 17:42:13.000000000 +0100 +@@ -21,6 +21,8 @@ + #ifndef BOOST_REGEX_SPLIT_HPP + #define BOOST_REGEX_SPLIT_HPP + ++#include ++ + namespace boost{ + + #ifdef BOOST_HAS_ABI_HEADERS +diff -urp boost_1_34_1/boost/regex/v4/states.hpp boost_1_34_1.pm/boost/regex/v4/states.hpp +--- boost_1_34_1/boost/regex/v4/states.hpp 2005-09-20 14:01:25.000000000 +0200 ++++ boost_1_34_1.pm/boost/regex/v4/states.hpp 2008-02-06 17:32:42.000000000 +0100 +@@ -23,6 +23,8 @@ + # include BOOST_ABI_PREFIX + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +diff -urp boost_1_34_1/boost/test/test_tools.hpp boost_1_34_1.pm/boost/test/test_tools.hpp +--- boost_1_34_1/boost/test/test_tools.hpp 2007-02-22 18:57:29.000000000 +0100 ++++ boost_1_34_1.pm/boost/test/test_tools.hpp 2008-02-06 17:18:20.000000000 +0100 +@@ -44,6 +44,7 @@ + // STL + #include // for std::size_t + #include ++#include + + #include + +diff -urp boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp +--- boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 17:38:24.000000000 +0100 ++++ boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-02-06 17:25:00.000000000 +0100 +@@ -16,6 +16,8 @@ + #include + #include + #include ++#include ++ + #if defined(BOOST_SPIRIT_DEBUG) + #include + #endif // defined(BOOST_SPIRIT_DEBUG) +diff -urp boost_1_34_1/boost/wave/util/flex_string.hpp boost_1_34_1.pm/boost/wave/util/flex_string.hpp +--- boost_1_34_1/boost/wave/util/flex_string.hpp 2006-04-25 19:21:01.000000000 +0200 ++++ boost_1_34_1.pm/boost/wave/util/flex_string.hpp 2008-02-06 17:22:31.000000000 +0100 +@@ -94,6 +94,7 @@ class StoragePolicy + #include + #include + #include ++#include + + // this must occur after all of the includes and before any code appears + #ifdef BOOST_HAS_ABI_HEADERS +diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp +--- boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2005-12-11 07:12:51.000000000 +0100 ++++ boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp 2008-02-06 18:42:07.000000000 +0100 +@@ -33,6 +33,8 @@ namespace std{ + #include + #include + ++#include ++ + // determine if its necessary to handle (u)int64_t specifically + // i.e. that its not a synonym for (unsigned) long + // if there is no 64 bit int or if its the same as a long diff --git a/boost-phoenix-limits.patch b/boost-phoenix-limits.patch deleted file mode 100644 index baa3645..0000000 --- a/boost-phoenix-limits.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urp boost_1_34_1/boost/spirit/phoenix/operators.hpp boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp ---- boost_1_34_1/boost/spirit/phoenix/operators.hpp 2006-08-25 18:27:30.000000000 +0200 -+++ boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp 2008-02-06 16:29:32.000000000 +0100 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - /////////////////////////////////////////////////////////////////////////////// - namespace phoenix { -Only in boost_1_34_1.pm/boost/spirit/phoenix: operators.hpp~ diff --git a/boost.spec b/boost.spec index c9a516d..0d15dc3 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 8%{?dist} +Release: 9%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -26,7 +26,7 @@ Patch1: boost-gcc-soname.patch Patch2: boost-use-rpm-optflags.patch Patch3: boost-run-tests.patch Patch4: boost-regex.patch -Patch5: boost-phoenix-limits.patch +Patch5: boost-gcc43.patch %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -203,8 +203,8 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog -* Wed Feb 6 2008 Petr Machata - 1.34.1-8 -- Add an include to boost/spirit/phoenix/operators.hpp +* Wed Feb 6 2008 Petr Machata - 1.34.1-9 +- Fixes for GCC 4.3 - Resolves: #431609 * Mon Jan 14 2008 Benjamin Kosnik 1.34.1-7 @@ -248,15 +248,15 @@ rm -rf $RPM_BUILD_ROOT Clarified BSL as GPL-Compatible, Free Software License. Remove Obsoletes. Add Provides boost-python. - Remove mkdir -p $RPM_BUILD_ROOT%{_docdir} + Remove mkdir -p $RPM_BUILD_ROOT%%{_docdir} Added periods for decription text. Fix Group field. Remove doc Requires boost. Preserve timestamps on install. - Use %defattr(-, root, root, -) + Use %%defattr(-, root, root, -) Added static package for .a libs. Install static libs with 0644 permissions. - Use %doc for doc files. + Use %%doc for doc files. * Mon Jan 22 2007 Benjamin Kosnik 1.34.0-0.5 - Update to boost.RC_1_34_0 snapshot as of 2007-01-19. @@ -265,8 +265,8 @@ rm -rf $RPM_BUILD_ROOT threads (regex and thread). * Thu Nov 23 2006 Benjamin Kosnik 1.33.1-10 -- (#182414: boost: put tests in %check section) via Rex Dieter -- Fix EVR with %{?dist} tag via Gianluca Sforna +- (#182414: boost: put tests in %%check section) via Rex Dieter +- Fix EVR with %%{?dist} tag via Gianluca Sforna * Wed Nov 15 2006 Benjamin Kosnik 1.33.1-9 - (#154784: boost-debuginfo package is empty) From c6930926016efdedfdc926fc1f509ed217ed6c0b Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 6 Feb 2008 20:42:57 +0000 Subject: [PATCH 014/452] One more GCC 4.3 related nit --- boost-gcc43.patch | 12 ++++++++++++ boost.spec | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/boost-gcc43.patch b/boost-gcc43.patch index 9208409..2d7d02d 100644 --- a/boost-gcc43.patch +++ b/boost-gcc43.patch @@ -138,3 +138,15 @@ diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/bo // determine if its necessary to handle (u)int64_t specifically // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long +diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp +--- boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2005-12-11 07:12:51.000000000 +0100 ++++ boost_1_34_1.pm/boost/archive/polymorphic_oarchive.hpp 2008-02-06 18:42:07.000000000 +0100 +@@ -33,6 +33,8 @@ namespace std{ + #include + #include + ++#include ++ + // determine if its necessary to handle (u)int64_t specifically + // i.e. that its not a synonym for (unsigned) long + // if there is no 64 bit int or if its the same as a long diff --git a/boost.spec b/boost.spec index 0d15dc3..661a193 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 9%{?dist} +Release: 10%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -203,7 +203,7 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog -* Wed Feb 6 2008 Petr Machata - 1.34.1-9 +* Wed Feb 6 2008 Petr Machata - 1.34.1-10 - Fixes for GCC 4.3 - Resolves: #431609 From eb542eb2e75757191b1b3232f7c8c496ffaab18c Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 13 Feb 2008 15:14:57 +0000 Subject: [PATCH 015/452] - Fix "changes meaning of special_values_parser" in boost date_time - Resolves: #432433 --- boost-gcc43.patch | 12 ++++++++++++ boost.spec | 6 +++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/boost-gcc43.patch b/boost-gcc43.patch index 2d7d02d..240f82d 100644 --- a/boost-gcc43.patch +++ b/boost-gcc43.patch @@ -150,3 +150,15 @@ diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/bo // determine if its necessary to handle (u)int64_t specifically // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long +diff -urp boost_1_34_1/boost/date_time/date_facet.hpp boost_1_34_1-pm/boost/date_time/date_facet.hpp +--- boost_1_34_1/boost/date_time/date_facet.hpp 2005-09-05 23:10:50.000000000 +0200 ++++ boost_1_34_1-pm/boost/date_time/date_facet.hpp 2008-02-13 16:07:59.000000000 +0100 +@@ -429,7 +429,7 @@ namespace boost { namespace date_time { + typedef std::basic_string string_type; + typedef CharT char_type; + typedef boost::date_time::period_parser period_parser_type; +- typedef special_values_parser special_values_parser_type; ++ typedef boost::date_time::special_values_parser special_values_parser_type; + typedef std::vector > input_collection_type; + typedef format_date_parser format_date_parser_type; + // date_generators stuff goes here diff --git a/boost.spec b/boost.spec index 661a193..6a90301 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 10%{?dist} +Release: 11%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -203,6 +203,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog +* Wed Feb 13 2008 Petr Machata - 1.34.1-11 +- Fix "changes meaning of special_values_parser" in boost date_time +- Resolves: #432433 + * Wed Feb 6 2008 Petr Machata - 1.34.1-10 - Fixes for GCC 4.3 - Resolves: #431609 From ac5861b7053c85a333f20dc1b0c1131c5eaf80e4 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Thu, 14 Feb 2008 13:24:24 +0000 Subject: [PATCH 016/452] - Fix "changes meaning of keywords" in boost python - Resolves: #432694 --- boost-gcc43.patch | 12 ++++++++++++ boost.spec | 6 +++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/boost-gcc43.patch b/boost-gcc43.patch index 240f82d..edcd87e 100644 --- a/boost-gcc43.patch +++ b/boost-gcc43.patch @@ -162,3 +162,15 @@ diff -urp boost_1_34_1/boost/date_time/date_facet.hpp boost_1_34_1-pm/boost/date typedef std::vector > input_collection_type; typedef format_date_parser format_date_parser_type; // date_generators stuff goes here +diff -urp boost_1_34_1/boost/python/detail/def_helper.hpp boost_1_34_1-pm/boost/python/detail/def_helper.hpp +--- boost_1_34_1/boost/python/detail/def_helper.hpp 2004-09-16 03:00:28.000000000 +0200 ++++ boost_1_34_1-pm/boost/python/detail/def_helper.hpp 2008-02-14 13:26:23.000000000 +0100 +@@ -155,7 +155,7 @@ namespace detail + , T3 const& + , T4 const& + , default_call_policies +- , keywords<0> ++ , boost::python::detail::keywords<0> + , char const* + , void(not_specified::*)() // A function pointer type which is never an + // appropriate default implementation diff --git a/boost.spec b/boost.spec index 6a90301..9d310e3 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 11%{?dist} +Release: 12%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -203,6 +203,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/boost-%{version} %changelog +* Thu Feb 14 2008 Petr Machata - 1.34.1-12 +- Fix "changes meaning of keywords" in boost python +- Resolves: #432694 + * Wed Feb 13 2008 Petr Machata - 1.34.1-11 - Fix "changes meaning of special_values_parser" in boost date_time - Resolves: #432433 From 7bc91ee1018a0ea3b5cfc829eb427f6f43b17a09 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 26 Mar 2008 18:03:49 +0000 Subject: [PATCH 017/452] - Install library doc files - Revamp %%install phase to speed up overall build time - Some cleanups per merge review - Resolves: #437032 --- boost.spec | 61 ++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/boost.spec b/boost.spec index 9d310e3..db47c30 100644 --- a/boost.spec +++ b/boost.spec @@ -1,25 +1,21 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 12%{?dist} +Release: 13%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries -#Source: %{name}_1_34_1.tar.bz2 Source: http://downloads.sourceforge.net/boost/boost_1_34_1.tar.bz2 Obsoletes: boost-doc <= 1.30.2 Obsoletes: boost-python <= 1.30.2 Provides: boost-python = %{version}-%{release} Provides: boost-doc = %{version}-%{release} -BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libstdc++-devel BuildRequires: bzip2-libs BuildRequires: bzip2-devel -BuildRequires: zlib BuildRequires: zlib-devel -BuildRequires: python BuildRequires: python-devel -BuildRequires: libicu BuildRequires: libicu-devel Patch0: boost-configure.patch Patch1: boost-gcc-soname.patch @@ -49,8 +45,7 @@ Headers and shared object symlinks for the Boost C++ libraries. %package devel-static Summary: The Boost C++ static development libraries Group: Development/Libraries -Requires: boost = %{version}-%{release} -Provides: boost-python-devel = %{version}-%{release} +Requires: boost-devel = %{version}-%{release} %description devel-static Static libraries for the Boost C++ libraries. @@ -64,8 +59,6 @@ Provides: boost-python-docs = %{version}-%{release} HTML documentation files for Boost C++ libraries. %prep -rm -rf %{buildroot} - %setup -q -n %{name}_1_34_1 %patch0 -p0 %patch1 -p0 @@ -99,11 +92,7 @@ make all #cd .. %check -# --with tests activates checking -%define with_tests %{?_with_tests:1}%{!?_with_tests:0} -%define without_tests %{!?_with_tests:1}%{?_with_tests:0} - -%if %{with_tests} +%if %{with tests} echo "

" `uname -a` "

" > status/regression_comment.html echo "" >> status/regression_comment.html echo "

" `g++ --version` "

" >> status/regression_comment.html @@ -133,7 +122,7 @@ fi rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_libdir} mkdir -p $RPM_BUILD_ROOT%{_includedir} -mkdir -p $RPM_BUILD_ROOT%{_docdir}/boost-%{version} +mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} # install lib for i in `find stage -type f -name \*.a`; do @@ -157,24 +146,26 @@ for i in `find stage -type f -name \*.so`; do done; # install include files -for i in `find boost -type d`; do - mkdir -p $RPM_BUILD_ROOT%{_includedir}/$i -done -for i in `find boost -type f`; do - install -p -m 644 $i $RPM_BUILD_ROOT%{_includedir}/$i +find %{name} -type d | while read a; do + mkdir -p $RPM_BUILD_ROOT%{_includedir}/$a + find $a -mindepth 1 -maxdepth 1 -type f \ + | xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_includedir}/$a done -#install doc files -cd doc/html; -for i in `find . -type d`; do - mkdir -p $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i +# install doc files +DOCPATH=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/ +find libs doc -type f \( -name \*.htm -o -name \*.html \) \ + | sed -n '/\//{s,/[^/]*$,,;p}' \ + | sort -u > tmp-doc-directories +sed "s:^:$DOCPATH:" tmp-doc-directories | xargs -r mkdir -p +cat tmp-doc-directories | while read a; do + find $a -mindepth 1 -maxdepth 1 -name \*.htm\* \ + | xargs install -m 644 -p -t $DOCPATH$a done -for i in `find . -type f`; do - install -p -m 644 $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i -done -cd ../..; +rm tmp-doc-directories +install -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm -# remove scripts used to generate include files +# remove scripts used to generate include files find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \; %clean @@ -184,7 +175,7 @@ rm -rf $RPM_BUILD_ROOT %postun -p /sbin/ldconfig -%files +%files %defattr(-, root, root, -) %{_libdir}/*.so.%{version} %{_libdir}/*.so.3 @@ -200,9 +191,15 @@ rm -rf $RPM_BUILD_ROOT %files doc %defattr(-, root, root, -) -%doc %{_docdir}/boost-%{version} +%doc %{_docdir}/%{name}-%{version} %changelog +* Wed Mar 26 2008 Petr Machata - 1.34.1-13 +- Install library doc files +- Revamp %%install phase to speed up overall build time +- Some cleanups per merge review +- Resolves: #437032 + * Thu Feb 14 2008 Petr Machata - 1.34.1-12 - Fix "changes meaning of keywords" in boost python - Resolves: #432694 From 408862e229993f2c899324cbbb7c0ccce391c883 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Thu, 27 Mar 2008 13:26:02 +0000 Subject: [PATCH 018/452] Merge review cleanups --- boost.spec | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/boost.spec b/boost.spec index db47c30..2a6c5ac 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,9 @@ +%bcond_with tests + Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 13%{?dist} +Release: 14%{?dist} License: Boost Software License (GPL-Compatible, Free Software License) URL: http://www.boost.org/ Group: System Environment/Libraries @@ -42,13 +44,15 @@ Provides: boost-python-devel = %{version}-%{release} %description devel Headers and shared object symlinks for the Boost C++ libraries. -%package devel-static +%package static Summary: The Boost C++ static development libraries Group: Development/Libraries Requires: boost-devel = %{version}-%{release} +Obsoletes: boost-devel-static < 1.34.1-14 +Provides: boost-devel-static = %{version}-%{release} -%description devel-static -Static libraries for the Boost C++ libraries. +%description static +Static Boost C++ libraries. %package doc Summary: The Boost C++ html docs @@ -154,7 +158,7 @@ done # install doc files DOCPATH=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/ -find libs doc -type f \( -name \*.htm -o -name \*.html \) \ +find libs doc more -type f \( -name \*.htm -o -name \*.html \) \ | sed -n '/\//{s,/[^/]*$,,;p}' \ | sort -u > tmp-doc-directories sed "s:^:$DOCPATH:" tmp-doc-directories | xargs -r mkdir -p @@ -185,7 +189,7 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/boost %{_libdir}/*.so -%files devel-static +%files static %defattr(-, root, root, -) %{_libdir}/*.a @@ -194,6 +198,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Thu Mar 27 2008 Petr Machata - 1.34.1-14 +- Change devel-static back to static. +- Related: #225622 + * Wed Mar 26 2008 Petr Machata - 1.34.1-13 - Install library doc files - Revamp %%install phase to speed up overall build time From ed00540465212ac8d0e56d4feb5f6345fa7b4125 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Thu, 29 May 2008 16:49:04 +0000 Subject: [PATCH 019/452] fix license tag --- boost.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/boost.spec b/boost.spec index 2a6c5ac..4bc756d 100644 --- a/boost.spec +++ b/boost.spec @@ -3,8 +3,8 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 14%{?dist} -License: Boost Software License (GPL-Compatible, Free Software License) +Release: 15%{?dist} +License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries Source: http://downloads.sourceforge.net/boost/boost_1_34_1.tar.bz2 @@ -198,6 +198,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Thu May 29 2008 Tom "spot" Callaway - 1.34.1-15 +- fix license tag + * Thu Mar 27 2008 Petr Machata - 1.34.1-14 - Change devel-static back to static. - Related: #225622 From a59558692be2a5a71db2f0ebdb7439419ee7523e Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Thu, 12 Jun 2008 11:12:04 +0000 Subject: [PATCH 020/452] - Fix "changes meaning of keywords" in boost date_time - Related: #450718 --- boost-gcc43.patch | 39 +++++++++++++++++++++++++++++++++++++++ boost.spec | 6 +++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/boost-gcc43.patch b/boost-gcc43.patch index edcd87e..4346c3c 100644 --- a/boost-gcc43.patch +++ b/boost-gcc43.patch @@ -174,3 +174,42 @@ diff -urp boost_1_34_1/boost/python/detail/def_helper.hpp boost_1_34_1-pm/boost/ , char const* , void(not_specified::*)() // A function pointer type which is never an // appropriate default implementation +diff -urp new-boost/date_time/tz_db_base.hpp old-boost/date_time/tz_db_base.hpp +--- boost_1_34_1/boost/date_time/tz_db_base.hpp 2008-06-12 13:03:34.000000000 +0200 ++++ boost_1_34_1-pm/boost/date_time/tz_db_base.hpp 2008-06-12 12:59:43.000000000 +0200 +@@ -158,7 +158,7 @@ namespace boost { + typedef typename time_zone_type::base_type time_zone_base_type; + typedef typename time_zone_type::time_duration_type time_duration_type; + typedef time_zone_names_base time_zone_names; +- typedef dst_adjustment_offsets dst_adjustment_offsets; ++ typedef dst_adjustment_offsets dst_adjustment_offsets_t; + typedef std::basic_string string_type; + + //! Constructs an empty database +@@ -346,18 +346,18 @@ namespace boost { + time_duration_type utc_offset = + str_from_delimited_time_duration(result[GMTOFFSET]); + +- dst_adjustment_offsets adjust(time_duration_type(0,0,0), +- time_duration_type(0,0,0), +- time_duration_type(0,0,0)); ++ dst_adjustment_offsets_t adjust(time_duration_type(0,0,0), ++ time_duration_type(0,0,0), ++ time_duration_type(0,0,0)); + + boost::shared_ptr rules; + + if(has_dst){ +- adjust = dst_adjustment_offsets( +- str_from_delimited_time_duration(result[DSTADJUST]), +- str_from_delimited_time_duration(result[START_TIME]), +- str_from_delimited_time_duration(result[END_TIME]) +- ); ++ adjust = dst_adjustment_offsets_t( ++ str_from_delimited_time_duration(result[DSTADJUST]), ++ str_from_delimited_time_duration(result[START_TIME]), ++ str_from_delimited_time_duration(result[END_TIME]) ++ ); + + rules = + boost::shared_ptr(parse_rules(result[START_DATE_RULE], diff --git a/boost.spec b/boost.spec index 4bc756d..5ba52aa 100644 --- a/boost.spec +++ b/boost.spec @@ -3,7 +3,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 15%{?dist} +Release: 16%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -198,6 +198,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Thu Jun 12 2008 Petr Machata - 1.34.1-16 +- Fix "changes meaning of keywords" in boost date_time +- Related: #450718 + * Thu May 29 2008 Tom "spot" Callaway - 1.34.1-15 - fix license tag From 07bc794885463b6769c1e679e54d6fef9ff2d930 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 11 Aug 2008 21:24:13 +0000 Subject: [PATCH 021/452] - Rebase to 1.36.0.beta1 - Drop boost-regex.patch and portions of boost-gcc43.patch, port the rest - Automate SONAME tracking and bump SONAME to 4 - Adjust boost-configure.patch to include threading=single,multi explicitly --- .cvsignore | 1 + boost-configure.patch | 2 +- boost-gcc-soname.patch | 58 +++++++++++------------------- boost-gcc43.patch | 68 ------------------------------------ boost-regex.patch | 40 --------------------- boost-run-tests.patch | 4 +-- boost-use-rpm-optflags.patch | 32 +++++++---------- boost.spec | 32 ++++++++++------- sources | 2 +- 9 files changed, 59 insertions(+), 180 deletions(-) delete mode 100644 boost-regex.patch diff --git a/.cvsignore b/.cvsignore index 47d9c28..b836a11 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ boost_1_34_1.tar.bz2 +boost_1_36_0_beta1.tar.bz2 diff --git a/boost-configure.patch b/boost-configure.patch index 7ce1a52..91e8508 100644 --- a/boost-configure.patch +++ b/boost-configure.patch @@ -13,7 +13,7 @@ BJAM="" TOOLSET="" -! BJAM_CONFIG="-d2 --layout=system variant=release debug-symbols=on" +! BJAM_CONFIG="-d2 --layout=system variant=release threading=single,multi debug-symbols=on" BUILD="" PREFIX=/usr/local EPREFIX= diff --git a/boost-gcc-soname.patch b/boost-gcc-soname.patch index f26b033..7ab692f 100644 --- a/boost-gcc-soname.patch +++ b/boost-gcc-soname.patch @@ -1,37 +1,21 @@ -*** tools/build/v2/tools/gcc.jam.orig 2007-05-03 08:09:04.000000000 +0200 ---- tools/build/v2/tools/gcc.jam 2007-06-26 20:37:44.000000000 +0200 -*************** if [ os.name ] != NT && [ os.name ] != O -*** 316,322 **** - # expected, therefore it has been disabled. - - HAVE_SONAME = "" ; -! SONAME_OPTION = -h ; - } - - ---- 316,323 ---- - # expected, therefore it has been disabled. - - HAVE_SONAME = "" ; -! SONAME_OPTION = -soname ; -! SONAME_VERSION = 3 ; - } - - -*************** rule link.dll ( targets * : sources * : -*** 631,637 **** - # Differ from 'link' above only by -shared. - actions link.dll bind LIBRARIES - { -! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) - } - - # Set up threading support. It's somewhat contrived, so perform it at the end, ---- 632,638 ---- - # Differ from 'link' above only by -shared. - actions link.dll bind LIBRARIES - { -! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) - } - - # Set up threading support. It's somewhat contrived, so perform it at the end, +--- boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam.orig 2008-08-11 13:15:13.000000000 +0200 ++++ boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam 2008-08-11 15:21:05.000000000 +0200 +@@ -336,7 +336,8 @@ + # OSF does have an option called -soname but it doesn't seem to work as + # expected, therefore it has been disabled. + HAVE_SONAME = "" ; +- SONAME_OPTION = -h ; ++ SONAME_OPTION = -soname ; ++ SONAME_VERSION = !!!SONAME!!! ; + } + + +@@ -726,7 +727,7 @@ + # Differ from 'link' above only by -shared. + actions link.dll bind LIBRARIES + { +- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) ++ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) + } + + # Set up threading support. It's somewhat contrived, so perform it at the end, diff --git a/boost-gcc43.patch b/boost-gcc43.patch index 4346c3c..553ea1a 100644 --- a/boost-gcc43.patch +++ b/boost-gcc43.patch @@ -1,14 +1,3 @@ -diff -urp boost_1_34_1/boost/spirit/phoenix/operators.hpp boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp ---- boost_1_34_1/boost/spirit/phoenix/operators.hpp 2006-08-25 18:27:30.000000000 +0200 -+++ boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp 2008-02-06 16:29:32.000000000 +0100 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - /////////////////////////////////////////////////////////////////////////////// - namespace phoenix { diff -urp boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp --- boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2006-07-16 18:06:38.000000000 +0200 +++ boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp 2008-02-06 17:36:42.000000000 +0100 @@ -45,17 +34,6 @@ diff -urp boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp boost_1_34_1.pm/boo namespace boost{ namespace re_detail{ -diff -urp boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp ---- boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp 2007-01-15 12:09:44.000000000 +0100 -+++ boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp 2008-02-06 17:26:51.000000000 +0100 -@@ -41,6 +41,7 @@ - - #include - #include -+#include - - #ifdef BOOST_HAS_ABI_HEADERS - # include BOOST_ABI_PREFIX diff -urp boost_1_34_1/boost/regex/v4/perl_matcher.hpp boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp --- boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2006-10-18 14:55:30.000000000 +0200 +++ boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp 2008-02-06 17:39:44.000000000 +0100 @@ -92,17 +70,6 @@ diff -urp boost_1_34_1/boost/regex/v4/states.hpp boost_1_34_1.pm/boost/regex/v4/ namespace boost{ namespace re_detail{ -diff -urp boost_1_34_1/boost/test/test_tools.hpp boost_1_34_1.pm/boost/test/test_tools.hpp ---- boost_1_34_1/boost/test/test_tools.hpp 2007-02-22 18:57:29.000000000 +0100 -+++ boost_1_34_1.pm/boost/test/test_tools.hpp 2008-02-06 17:18:20.000000000 +0100 -@@ -44,6 +44,7 @@ - // STL - #include // for std::size_t - #include -+#include - - #include - diff -urp boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp --- boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 17:38:24.000000000 +0100 +++ boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-02-06 17:25:00.000000000 +0100 @@ -115,17 +82,6 @@ diff -urp boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_34 #if defined(BOOST_SPIRIT_DEBUG) #include #endif // defined(BOOST_SPIRIT_DEBUG) -diff -urp boost_1_34_1/boost/wave/util/flex_string.hpp boost_1_34_1.pm/boost/wave/util/flex_string.hpp ---- boost_1_34_1/boost/wave/util/flex_string.hpp 2006-04-25 19:21:01.000000000 +0200 -+++ boost_1_34_1.pm/boost/wave/util/flex_string.hpp 2008-02-06 17:22:31.000000000 +0100 -@@ -94,6 +94,7 @@ class StoragePolicy - #include - #include - #include -+#include - - // this must occur after all of the includes and before any code appears - #ifdef BOOST_HAS_ABI_HEADERS diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp --- boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2005-12-11 07:12:51.000000000 +0100 +++ boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp 2008-02-06 18:42:07.000000000 +0100 @@ -150,30 +106,6 @@ diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/bo // determine if its necessary to handle (u)int64_t specifically // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long -diff -urp boost_1_34_1/boost/date_time/date_facet.hpp boost_1_34_1-pm/boost/date_time/date_facet.hpp ---- boost_1_34_1/boost/date_time/date_facet.hpp 2005-09-05 23:10:50.000000000 +0200 -+++ boost_1_34_1-pm/boost/date_time/date_facet.hpp 2008-02-13 16:07:59.000000000 +0100 -@@ -429,7 +429,7 @@ namespace boost { namespace date_time { - typedef std::basic_string string_type; - typedef CharT char_type; - typedef boost::date_time::period_parser period_parser_type; -- typedef special_values_parser special_values_parser_type; -+ typedef boost::date_time::special_values_parser special_values_parser_type; - typedef std::vector > input_collection_type; - typedef format_date_parser format_date_parser_type; - // date_generators stuff goes here -diff -urp boost_1_34_1/boost/python/detail/def_helper.hpp boost_1_34_1-pm/boost/python/detail/def_helper.hpp ---- boost_1_34_1/boost/python/detail/def_helper.hpp 2004-09-16 03:00:28.000000000 +0200 -+++ boost_1_34_1-pm/boost/python/detail/def_helper.hpp 2008-02-14 13:26:23.000000000 +0100 -@@ -155,7 +155,7 @@ namespace detail - , T3 const& - , T4 const& - , default_call_policies -- , keywords<0> -+ , boost::python::detail::keywords<0> - , char const* - , void(not_specified::*)() // A function pointer type which is never an - // appropriate default implementation diff -urp new-boost/date_time/tz_db_base.hpp old-boost/date_time/tz_db_base.hpp --- boost_1_34_1/boost/date_time/tz_db_base.hpp 2008-06-12 13:03:34.000000000 +0200 +++ boost_1_34_1-pm/boost/date_time/tz_db_base.hpp 2008-06-12 12:59:43.000000000 +0200 diff --git a/boost-regex.patch b/boost-regex.patch deleted file mode 100644 index 9260afc..0000000 --- a/boost-regex.patch +++ /dev/null @@ -1,40 +0,0 @@ -*** boost/regex/v4/basic_regex_parser.hpp.orig 2008-01-14 12:53:01.000000000 -0600 ---- boost/regex/v4/basic_regex_parser.hpp 2008-01-14 12:57:25.000000000 -0600 -*************** bool basic_regex_parser:: -*** 777,782 **** ---- 777,783 ---- - case syntax_element_restart_continue: - case syntax_element_jump: - case syntax_element_startmark: -+ case syntax_element_backstep: - // can't legally repeat any of the above: - fail(regex_constants::error_badrepeat, m_position - m_base); - return false; -*************** bool basic_regex_parser:: -*** 1862,1867 **** ---- 1863,1869 ---- - if(markid == -4) - { - re_syntax_base* b = this->getaddress(expected_alt_point); -+ // Make sure we have exactly one alternative following this state: - if(b->type != syntax_element_alt) - { - re_alt* alt = static_cast(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt))); -*************** bool basic_regex_parser:: -*** 1872,1877 **** ---- 1874,1888 ---- - fail(regex_constants::error_bad_pattern, m_position - m_base); - return false; - } -+ // check for invalid repetition of next state: -+ b = this->getaddress(expected_alt_point); -+ b = this->getaddress(static_cast(b)->next.i, b); -+ if((b->type != syntax_element_assert_backref) -+ && (b->type != syntax_element_startmark)) -+ { -+ fail(regex_constants::error_badrepeat, m_position - m_base); -+ return false; -+ } - } - // - // append closing parenthesis state: diff --git a/boost-run-tests.patch b/boost-run-tests.patch index ee39db0..adcc5f2 100644 --- a/boost-run-tests.patch +++ b/boost-run-tests.patch @@ -1,5 +1,5 @@ -*** tools/regression/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500 ---- tools/regression/run_tests.sh 2007-08-01 12:17:25.000000000 -0500 +*** tools/regression/src/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500 +--- tools/regression/src/run_tests.sh 2007-08-01 12:17:25.000000000 -0500 *************** *** 15,21 **** # This can be either a non-exitent directory or an already complete Boost diff --git a/boost-use-rpm-optflags.patch b/boost-use-rpm-optflags.patch index 6fe2960..414a63a 100644 --- a/boost-use-rpm-optflags.patch +++ b/boost-use-rpm-optflags.patch @@ -1,19 +1,13 @@ -*** tools/build/v2/tools/gcc.jam.orig 2007-08-01 01:17:16.000000000 -0500 ---- tools/build/v2/tools/gcc.jam 2007-08-01 01:17:46.000000000 -0500 -*************** flags gcc.compile PCH_FILE on : off : -O0 ; -! flags gcc.compile OPTIONS speed : -O3 ; - flags gcc.compile OPTIONS space : -Os ; - - flags gcc.compile OPTIONS off : -fno-inline ; ---- 268,274 ---- - - # Declare flags and action for compilation - flags gcc.compile OPTIONS off : -O0 ; -! flags gcc.compile OPTIONS speed : "$RPM_OPT_FLAGS" ; - flags gcc.compile OPTIONS space : -Os ; - - flags gcc.compile OPTIONS off : -fno-inline ; +diff -urp boost_1_36_0_beta1-orig/tools/build/v2/tools/gcc.jam boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam +--- boost_1_36_0_beta1-orig/tools/build/v2/tools/gcc.jam 2008-08-11 13:58:22.000000000 +0200 ++++ boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam 2008-08-11 13:59:21.000000000 +0200 +@@ -288,7 +288,7 @@ flags gcc.compile PCH_FILE on : off : -O0 ; +-flags gcc.compile OPTIONS speed : -O3 ; ++flags gcc.compile OPTIONS speed : "$RPM_OPT_FLAGS" ; + flags gcc.compile OPTIONS space : -Os ; + + flags gcc.compile OPTIONS off : -fno-inline ; +Only in boost_1_36_0_beta1/tools/build/v2/tools: gcc.jam~ diff --git a/boost.spec b/boost.spec index 5ba52aa..16641cc 100644 --- a/boost.spec +++ b/boost.spec @@ -1,13 +1,18 @@ %bcond_with tests +%define sonamever 4 Name: boost Summary: The Boost C++ Libraries -Version: 1.34.1 -Release: 16%{?dist} +Version: 1.36.0 +Release: 0.1.beta1%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries -Source: http://downloads.sourceforge.net/boost/boost_1_34_1.tar.bz2 +# boost_1_36_0_beta1.tar.bz2 comes from svn checkout: +# svn co http://svn.boost.org/svn/boost/tags/release/Boost_1_36_0_beta1 \ +# boost_1_36_0_beta1 -r 47919 +Source: boost_1_36_0_beta1.tar.bz2 +Source2: boost-gcc-soname.patch Obsoletes: boost-doc <= 1.30.2 Obsoletes: boost-python <= 1.30.2 Provides: boost-python = %{version}-%{release} @@ -20,10 +25,8 @@ BuildRequires: zlib-devel BuildRequires: python-devel BuildRequires: libicu-devel Patch0: boost-configure.patch -Patch1: boost-gcc-soname.patch Patch2: boost-use-rpm-optflags.patch Patch3: boost-run-tests.patch -Patch4: boost-regex.patch Patch5: boost-gcc43.patch %description @@ -63,12 +66,11 @@ Provides: boost-python-docs = %{version}-%{release} HTML documentation files for Boost C++ libraries. %prep -%setup -q -n %{name}_1_34_1 +%setup -q -n %{name}_1_36_0_beta1 %patch0 -p0 -%patch1 -p0 -%patch2 -p0 +sed 's/!!!SONAME!!!/%{sonamever}/' %{SOURCE2} | %{__patch} -p1 +%patch2 -p1 %patch3 -p0 -%patch4 -p0 %patch5 -p1 %build @@ -135,11 +137,11 @@ for i in `find stage -type f -name \*.a`; do done; for i in `find stage -type f -name \*.so`; do NAME=$i; - SONAME=$i.3; + SONAME=$i.%{sonamever}; VNAME=$i.%{version}; base=`basename $i`; NAMEbase=$base; - SONAMEbase=$base.3; + SONAMEbase=$base.%{sonamever}; VNAMEbase=$base.%{version}; mv $i $VNAME; ln -s $VNAMEbase $SONAME; @@ -182,7 +184,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-, root, root, -) %{_libdir}/*.so.%{version} -%{_libdir}/*.so.3 +%{_libdir}/*.so.%{sonamever} %files devel %defattr(-, root, root, -) @@ -198,6 +200,12 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Mon Aug 11 2008 Petr Machata - 1.36.0-0.1.beta1 +- Rebase to 1.36.0.beta1 + - Drop boost-regex.patch and portions of boost-gcc43.patch, port the rest + - Automate SONAME tracking and bump SONAME to 4 + - Adjust boost-configure.patch to include threading=single,multi explicitly + * Thu Jun 12 2008 Petr Machata - 1.34.1-16 - Fix "changes meaning of keywords" in boost date_time - Related: #450718 diff --git a/sources b/sources index f8946f7..3f51117 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2d938467e8a448a2c9763e0a9f8ca7e5 boost_1_34_1.tar.bz2 +b70fdfdfb6a2ec9cc1b73095c67293cd boost_1_36_0_beta1.tar.bz2 From 43f1644f50c027b7d2395caf684186df5a450a9c Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 11 Aug 2008 21:56:42 +0000 Subject: [PATCH 022/452] Regenerate gcc43.patch so that it applies cleanly. --- boost-gcc43.patch | 204 ++++++++++++++++++++++++---------------------- 1 file changed, 107 insertions(+), 97 deletions(-) diff --git a/boost-gcc43.patch b/boost-gcc43.patch index 553ea1a..7b1f999 100644 --- a/boost-gcc43.patch +++ b/boost-gcc43.patch @@ -1,114 +1,32 @@ -diff -urp boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp ---- boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2006-07-16 18:06:38.000000000 +0200 -+++ boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp 2008-02-06 17:36:42.000000000 +0100 -@@ -24,6 +24,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - - namespace re_detail{ -diff -urp boost_1_34_1/boost/regex/v4/basic_regex.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp ---- boost_1_34_1/boost/regex/v4/basic_regex.hpp 2007-06-05 19:28:18.000000000 +0200 -+++ boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp 2008-02-06 17:33:30.000000000 +0100 -@@ -23,6 +23,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - #ifdef BOOST_MSVC - #pragma warning(push) -diff -urp boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp ---- boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-02-06 17:45:26.000000000 +0100 -+++ boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp 2008-02-06 17:38:58.000000000 +0100 -@@ -23,6 +23,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -diff -urp boost_1_34_1/boost/regex/v4/perl_matcher.hpp boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp ---- boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2006-10-18 14:55:30.000000000 +0200 -+++ boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp 2008-02-06 17:39:44.000000000 +0100 -@@ -18,6 +18,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -diff -urp boost_1_34_1/boost/regex/v4/regex_split.hpp boost_1_34_1.pm/boost/regex/v4/regex_split.hpp ---- boost_1_34_1/boost/regex/v4/regex_split.hpp 2005-01-21 18:22:38.000000000 +0100 -+++ boost_1_34_1.pm/boost/regex/v4/regex_split.hpp 2008-02-06 17:42:13.000000000 +0100 -@@ -21,6 +21,8 @@ - #ifndef BOOST_REGEX_SPLIT_HPP - #define BOOST_REGEX_SPLIT_HPP - -+#include -+ - namespace boost{ - - #ifdef BOOST_HAS_ABI_HEADERS -diff -urp boost_1_34_1/boost/regex/v4/states.hpp boost_1_34_1.pm/boost/regex/v4/states.hpp ---- boost_1_34_1/boost/regex/v4/states.hpp 2005-09-20 14:01:25.000000000 +0200 -+++ boost_1_34_1.pm/boost/regex/v4/states.hpp 2008-02-06 17:32:42.000000000 +0100 -@@ -23,6 +23,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -diff -urp boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp ---- boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 17:38:24.000000000 +0100 -+++ boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-02-06 17:25:00.000000000 +0100 -@@ -16,6 +16,8 @@ - #include - #include - #include -+#include -+ - #if defined(BOOST_SPIRIT_DEBUG) - #include - #endif // defined(BOOST_SPIRIT_DEBUG) -diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp ---- boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2005-12-11 07:12:51.000000000 +0100 -+++ boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp 2008-02-06 18:42:07.000000000 +0100 -@@ -33,6 +33,8 @@ namespace std{ - #include +diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp +--- boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp 2008-08-11 23:49:44.000000000 +0200 ++++ boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -35,6 +35,8 @@ namespace std{ #include + #include +#include + // determine if its necessary to handle (u)int64_t specifically // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long -diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp ---- boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2005-12-11 07:12:51.000000000 +0100 -+++ boost_1_34_1.pm/boost/archive/polymorphic_oarchive.hpp 2008-02-06 18:42:07.000000000 +0100 -@@ -33,6 +33,8 @@ namespace std{ - #include +Only in boost_1_36_0_beta1/boost/archive: polymorphic_iarchive.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp +--- boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp 2008-08-11 23:49:44.000000000 +0200 ++++ boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -34,6 +34,8 @@ namespace std{ #include + #include +#include + // determine if its necessary to handle (u)int64_t specifically // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long -diff -urp new-boost/date_time/tz_db_base.hpp old-boost/date_time/tz_db_base.hpp ---- boost_1_34_1/boost/date_time/tz_db_base.hpp 2008-06-12 13:03:34.000000000 +0200 -+++ boost_1_34_1-pm/boost/date_time/tz_db_base.hpp 2008-06-12 12:59:43.000000000 +0200 +Only in boost_1_36_0_beta1/boost/archive: polymorphic_oarchive.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp +--- boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp 2008-08-11 23:49:45.000000000 +0200 ++++ boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp 2008-08-11 23:50:38.000000000 +0200 @@ -158,7 +158,7 @@ namespace boost { typedef typename time_zone_type::base_type time_zone_base_type; typedef typename time_zone_type::time_duration_type time_duration_type; @@ -145,3 +63,95 @@ diff -urp new-boost/date_time/tz_db_base.hpp old-boost/date_time/tz_db_base.hpp rules = boost::shared_ptr(parse_rules(result[START_DATE_RULE], +Only in boost_1_36_0_beta1/boost/date_time: tz_db_base.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -36,6 +36,8 @@ + # pragma warning(disable: 4800) + #endif + ++#include ++ + namespace boost{ + + namespace re_detail{ +Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_creator.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -30,6 +30,8 @@ + #pragma warning(pop) + #endif + ++#include ++ + namespace boost{ + #ifdef BOOST_MSVC + #pragma warning(push) +Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -30,6 +30,8 @@ + #pragma warning(pop) + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_parser.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -30,6 +30,8 @@ + # pragma warning(disable: 4800) + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +Only in boost_1_36_0_beta1/boost/regex/v4: perl_matcher.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -21,6 +21,8 @@ + #ifndef BOOST_REGEX_SPLIT_HPP + #define BOOST_REGEX_SPLIT_HPP + ++#include ++ + namespace boost{ + + #ifdef BOOST_MSVC +Only in boost_1_36_0_beta1/boost/regex/v4: regex_split.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp boost_1_36_0_beta1/boost/regex/v4/states.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/states.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -30,6 +30,8 @@ + #pragma warning(pop) + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +Only in boost_1_36_0_beta1/boost/regex/v4: states.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp +--- boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-08-11 23:49:45.000000000 +0200 ++++ boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -16,6 +16,8 @@ + #include + #include + #include ++#include ++ + #if defined(BOOST_SPIRIT_DEBUG) + #include + #endif // defined(BOOST_SPIRIT_DEBUG) +Only in boost_1_36_0_beta1/boost/wave/cpplexer/re2clex: cpp_re2c_lexer.hpp.orig From 1b86749d19b12197693b289bde4e8ecb79f2d7d7 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Tue, 12 Aug 2008 16:40:21 +0000 Subject: [PATCH 023/452] Revert rebase. --- boost-configure.patch | 2 +- boost-gcc-soname.patch | 58 +++++--- boost-gcc43.patch | 272 +++++++++++++++++++++-------------- boost-regex.patch | 40 ++++++ boost-run-tests.patch | 4 +- boost-use-rpm-optflags.patch | 32 +++-- boost.spec | 32 ++--- sources | 2 +- 8 files changed, 277 insertions(+), 165 deletions(-) create mode 100644 boost-regex.patch diff --git a/boost-configure.patch b/boost-configure.patch index 91e8508..7ce1a52 100644 --- a/boost-configure.patch +++ b/boost-configure.patch @@ -13,7 +13,7 @@ BJAM="" TOOLSET="" -! BJAM_CONFIG="-d2 --layout=system variant=release threading=single,multi debug-symbols=on" +! BJAM_CONFIG="-d2 --layout=system variant=release debug-symbols=on" BUILD="" PREFIX=/usr/local EPREFIX= diff --git a/boost-gcc-soname.patch b/boost-gcc-soname.patch index 7ab692f..f26b033 100644 --- a/boost-gcc-soname.patch +++ b/boost-gcc-soname.patch @@ -1,21 +1,37 @@ ---- boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam.orig 2008-08-11 13:15:13.000000000 +0200 -+++ boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam 2008-08-11 15:21:05.000000000 +0200 -@@ -336,7 +336,8 @@ - # OSF does have an option called -soname but it doesn't seem to work as - # expected, therefore it has been disabled. - HAVE_SONAME = "" ; -- SONAME_OPTION = -h ; -+ SONAME_OPTION = -soname ; -+ SONAME_VERSION = !!!SONAME!!! ; - } - - -@@ -726,7 +727,7 @@ - # Differ from 'link' above only by -shared. - actions link.dll bind LIBRARIES - { -- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) -+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) - } - - # Set up threading support. It's somewhat contrived, so perform it at the end, +*** tools/build/v2/tools/gcc.jam.orig 2007-05-03 08:09:04.000000000 +0200 +--- tools/build/v2/tools/gcc.jam 2007-06-26 20:37:44.000000000 +0200 +*************** if [ os.name ] != NT && [ os.name ] != O +*** 316,322 **** + # expected, therefore it has been disabled. + + HAVE_SONAME = "" ; +! SONAME_OPTION = -h ; + } + + +--- 316,323 ---- + # expected, therefore it has been disabled. + + HAVE_SONAME = "" ; +! SONAME_OPTION = -soname ; +! SONAME_VERSION = 3 ; + } + + +*************** rule link.dll ( targets * : sources * : +*** 631,637 **** + # Differ from 'link' above only by -shared. + actions link.dll bind LIBRARIES + { +! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) + } + + # Set up threading support. It's somewhat contrived, so perform it at the end, +--- 632,638 ---- + # Differ from 'link' above only by -shared. + actions link.dll bind LIBRARIES + { +! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) + } + + # Set up threading support. It's somewhat contrived, so perform it at the end, diff --git a/boost-gcc43.patch b/boost-gcc43.patch index 7b1f999..4346c3c 100644 --- a/boost-gcc43.patch +++ b/boost-gcc43.patch @@ -1,32 +1,182 @@ -diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp ---- boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp 2008-08-11 23:49:44.000000000 +0200 -+++ boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -35,6 +35,8 @@ namespace std{ +diff -urp boost_1_34_1/boost/spirit/phoenix/operators.hpp boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp +--- boost_1_34_1/boost/spirit/phoenix/operators.hpp 2006-08-25 18:27:30.000000000 +0200 ++++ boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp 2008-02-06 16:29:32.000000000 +0100 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + /////////////////////////////////////////////////////////////////////////////// + namespace phoenix { +diff -urp boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp +--- boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2006-07-16 18:06:38.000000000 +0200 ++++ boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp 2008-02-06 17:36:42.000000000 +0100 +@@ -24,6 +24,8 @@ + # include BOOST_ABI_PREFIX + #endif + ++#include ++ + namespace boost{ + + namespace re_detail{ +diff -urp boost_1_34_1/boost/regex/v4/basic_regex.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp +--- boost_1_34_1/boost/regex/v4/basic_regex.hpp 2007-06-05 19:28:18.000000000 +0200 ++++ boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp 2008-02-06 17:33:30.000000000 +0100 +@@ -23,6 +23,8 @@ + # include BOOST_ABI_PREFIX + #endif + ++#include ++ + namespace boost{ + #ifdef BOOST_MSVC + #pragma warning(push) +diff -urp boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp +--- boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-02-06 17:45:26.000000000 +0100 ++++ boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp 2008-02-06 17:38:58.000000000 +0100 +@@ -23,6 +23,8 @@ + # include BOOST_ABI_PREFIX + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +diff -urp boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp +--- boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp 2007-01-15 12:09:44.000000000 +0100 ++++ boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp 2008-02-06 17:26:51.000000000 +0100 +@@ -41,6 +41,7 @@ + + #include + #include ++#include + + #ifdef BOOST_HAS_ABI_HEADERS + # include BOOST_ABI_PREFIX +diff -urp boost_1_34_1/boost/regex/v4/perl_matcher.hpp boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp +--- boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2006-10-18 14:55:30.000000000 +0200 ++++ boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp 2008-02-06 17:39:44.000000000 +0100 +@@ -18,6 +18,8 @@ + # include BOOST_ABI_PREFIX + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +diff -urp boost_1_34_1/boost/regex/v4/regex_split.hpp boost_1_34_1.pm/boost/regex/v4/regex_split.hpp +--- boost_1_34_1/boost/regex/v4/regex_split.hpp 2005-01-21 18:22:38.000000000 +0100 ++++ boost_1_34_1.pm/boost/regex/v4/regex_split.hpp 2008-02-06 17:42:13.000000000 +0100 +@@ -21,6 +21,8 @@ + #ifndef BOOST_REGEX_SPLIT_HPP + #define BOOST_REGEX_SPLIT_HPP + ++#include ++ + namespace boost{ + + #ifdef BOOST_HAS_ABI_HEADERS +diff -urp boost_1_34_1/boost/regex/v4/states.hpp boost_1_34_1.pm/boost/regex/v4/states.hpp +--- boost_1_34_1/boost/regex/v4/states.hpp 2005-09-20 14:01:25.000000000 +0200 ++++ boost_1_34_1.pm/boost/regex/v4/states.hpp 2008-02-06 17:32:42.000000000 +0100 +@@ -23,6 +23,8 @@ + # include BOOST_ABI_PREFIX + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +diff -urp boost_1_34_1/boost/test/test_tools.hpp boost_1_34_1.pm/boost/test/test_tools.hpp +--- boost_1_34_1/boost/test/test_tools.hpp 2007-02-22 18:57:29.000000000 +0100 ++++ boost_1_34_1.pm/boost/test/test_tools.hpp 2008-02-06 17:18:20.000000000 +0100 +@@ -44,6 +44,7 @@ + // STL + #include // for std::size_t + #include ++#include + + #include + +diff -urp boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp +--- boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 17:38:24.000000000 +0100 ++++ boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-02-06 17:25:00.000000000 +0100 +@@ -16,6 +16,8 @@ + #include + #include + #include ++#include ++ + #if defined(BOOST_SPIRIT_DEBUG) + #include + #endif // defined(BOOST_SPIRIT_DEBUG) +diff -urp boost_1_34_1/boost/wave/util/flex_string.hpp boost_1_34_1.pm/boost/wave/util/flex_string.hpp +--- boost_1_34_1/boost/wave/util/flex_string.hpp 2006-04-25 19:21:01.000000000 +0200 ++++ boost_1_34_1.pm/boost/wave/util/flex_string.hpp 2008-02-06 17:22:31.000000000 +0100 +@@ -94,6 +94,7 @@ class StoragePolicy + #include + #include + #include ++#include + + // this must occur after all of the includes and before any code appears + #ifdef BOOST_HAS_ABI_HEADERS +diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp +--- boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2005-12-11 07:12:51.000000000 +0100 ++++ boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp 2008-02-06 18:42:07.000000000 +0100 +@@ -33,6 +33,8 @@ namespace std{ + #include #include - #include +#include + // determine if its necessary to handle (u)int64_t specifically // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long -Only in boost_1_36_0_beta1/boost/archive: polymorphic_iarchive.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp ---- boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp 2008-08-11 23:49:44.000000000 +0200 -+++ boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -34,6 +34,8 @@ namespace std{ +diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp +--- boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2005-12-11 07:12:51.000000000 +0100 ++++ boost_1_34_1.pm/boost/archive/polymorphic_oarchive.hpp 2008-02-06 18:42:07.000000000 +0100 +@@ -33,6 +33,8 @@ namespace std{ + #include #include - #include +#include + // determine if its necessary to handle (u)int64_t specifically // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long -Only in boost_1_36_0_beta1/boost/archive: polymorphic_oarchive.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp ---- boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp 2008-08-11 23:49:45.000000000 +0200 -+++ boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp 2008-08-11 23:50:38.000000000 +0200 +diff -urp boost_1_34_1/boost/date_time/date_facet.hpp boost_1_34_1-pm/boost/date_time/date_facet.hpp +--- boost_1_34_1/boost/date_time/date_facet.hpp 2005-09-05 23:10:50.000000000 +0200 ++++ boost_1_34_1-pm/boost/date_time/date_facet.hpp 2008-02-13 16:07:59.000000000 +0100 +@@ -429,7 +429,7 @@ namespace boost { namespace date_time { + typedef std::basic_string string_type; + typedef CharT char_type; + typedef boost::date_time::period_parser period_parser_type; +- typedef special_values_parser special_values_parser_type; ++ typedef boost::date_time::special_values_parser special_values_parser_type; + typedef std::vector > input_collection_type; + typedef format_date_parser format_date_parser_type; + // date_generators stuff goes here +diff -urp boost_1_34_1/boost/python/detail/def_helper.hpp boost_1_34_1-pm/boost/python/detail/def_helper.hpp +--- boost_1_34_1/boost/python/detail/def_helper.hpp 2004-09-16 03:00:28.000000000 +0200 ++++ boost_1_34_1-pm/boost/python/detail/def_helper.hpp 2008-02-14 13:26:23.000000000 +0100 +@@ -155,7 +155,7 @@ namespace detail + , T3 const& + , T4 const& + , default_call_policies +- , keywords<0> ++ , boost::python::detail::keywords<0> + , char const* + , void(not_specified::*)() // A function pointer type which is never an + // appropriate default implementation +diff -urp new-boost/date_time/tz_db_base.hpp old-boost/date_time/tz_db_base.hpp +--- boost_1_34_1/boost/date_time/tz_db_base.hpp 2008-06-12 13:03:34.000000000 +0200 ++++ boost_1_34_1-pm/boost/date_time/tz_db_base.hpp 2008-06-12 12:59:43.000000000 +0200 @@ -158,7 +158,7 @@ namespace boost { typedef typename time_zone_type::base_type time_zone_base_type; typedef typename time_zone_type::time_duration_type time_duration_type; @@ -63,95 +213,3 @@ diff -urp boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp boost_1_36_0_be rules = boost::shared_ptr(parse_rules(result[START_DATE_RULE], -Only in boost_1_36_0_beta1/boost/date_time: tz_db_base.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -36,6 +36,8 @@ - # pragma warning(disable: 4800) - #endif - -+#include -+ - namespace boost{ - - namespace re_detail{ -Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_creator.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -30,6 +30,8 @@ - #pragma warning(pop) - #endif - -+#include -+ - namespace boost{ - #ifdef BOOST_MSVC - #pragma warning(push) -Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -30,6 +30,8 @@ - #pragma warning(pop) - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_parser.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -30,6 +30,8 @@ - # pragma warning(disable: 4800) - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -Only in boost_1_36_0_beta1/boost/regex/v4: perl_matcher.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -21,6 +21,8 @@ - #ifndef BOOST_REGEX_SPLIT_HPP - #define BOOST_REGEX_SPLIT_HPP - -+#include -+ - namespace boost{ - - #ifdef BOOST_MSVC -Only in boost_1_36_0_beta1/boost/regex/v4: regex_split.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp boost_1_36_0_beta1/boost/regex/v4/states.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/states.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -30,6 +30,8 @@ - #pragma warning(pop) - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -Only in boost_1_36_0_beta1/boost/regex/v4: states.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp ---- boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-08-11 23:49:45.000000000 +0200 -+++ boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -16,6 +16,8 @@ - #include - #include - #include -+#include -+ - #if defined(BOOST_SPIRIT_DEBUG) - #include - #endif // defined(BOOST_SPIRIT_DEBUG) -Only in boost_1_36_0_beta1/boost/wave/cpplexer/re2clex: cpp_re2c_lexer.hpp.orig diff --git a/boost-regex.patch b/boost-regex.patch new file mode 100644 index 0000000..9260afc --- /dev/null +++ b/boost-regex.patch @@ -0,0 +1,40 @@ +*** boost/regex/v4/basic_regex_parser.hpp.orig 2008-01-14 12:53:01.000000000 -0600 +--- boost/regex/v4/basic_regex_parser.hpp 2008-01-14 12:57:25.000000000 -0600 +*************** bool basic_regex_parser:: +*** 777,782 **** +--- 777,783 ---- + case syntax_element_restart_continue: + case syntax_element_jump: + case syntax_element_startmark: ++ case syntax_element_backstep: + // can't legally repeat any of the above: + fail(regex_constants::error_badrepeat, m_position - m_base); + return false; +*************** bool basic_regex_parser:: +*** 1862,1867 **** +--- 1863,1869 ---- + if(markid == -4) + { + re_syntax_base* b = this->getaddress(expected_alt_point); ++ // Make sure we have exactly one alternative following this state: + if(b->type != syntax_element_alt) + { + re_alt* alt = static_cast(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt))); +*************** bool basic_regex_parser:: +*** 1872,1877 **** +--- 1874,1888 ---- + fail(regex_constants::error_bad_pattern, m_position - m_base); + return false; + } ++ // check for invalid repetition of next state: ++ b = this->getaddress(expected_alt_point); ++ b = this->getaddress(static_cast(b)->next.i, b); ++ if((b->type != syntax_element_assert_backref) ++ && (b->type != syntax_element_startmark)) ++ { ++ fail(regex_constants::error_badrepeat, m_position - m_base); ++ return false; ++ } + } + // + // append closing parenthesis state: diff --git a/boost-run-tests.patch b/boost-run-tests.patch index adcc5f2..ee39db0 100644 --- a/boost-run-tests.patch +++ b/boost-run-tests.patch @@ -1,5 +1,5 @@ -*** tools/regression/src/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500 ---- tools/regression/src/run_tests.sh 2007-08-01 12:17:25.000000000 -0500 +*** tools/regression/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500 +--- tools/regression/run_tests.sh 2007-08-01 12:17:25.000000000 -0500 *************** *** 15,21 **** # This can be either a non-exitent directory or an already complete Boost diff --git a/boost-use-rpm-optflags.patch b/boost-use-rpm-optflags.patch index 414a63a..6fe2960 100644 --- a/boost-use-rpm-optflags.patch +++ b/boost-use-rpm-optflags.patch @@ -1,13 +1,19 @@ -diff -urp boost_1_36_0_beta1-orig/tools/build/v2/tools/gcc.jam boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam ---- boost_1_36_0_beta1-orig/tools/build/v2/tools/gcc.jam 2008-08-11 13:58:22.000000000 +0200 -+++ boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam 2008-08-11 13:59:21.000000000 +0200 -@@ -288,7 +288,7 @@ flags gcc.compile PCH_FILE on : off : -O0 ; --flags gcc.compile OPTIONS speed : -O3 ; -+flags gcc.compile OPTIONS speed : "$RPM_OPT_FLAGS" ; - flags gcc.compile OPTIONS space : -Os ; - - flags gcc.compile OPTIONS off : -fno-inline ; -Only in boost_1_36_0_beta1/tools/build/v2/tools: gcc.jam~ +*** tools/build/v2/tools/gcc.jam.orig 2007-08-01 01:17:16.000000000 -0500 +--- tools/build/v2/tools/gcc.jam 2007-08-01 01:17:46.000000000 -0500 +*************** flags gcc.compile PCH_FILE on : off : -O0 ; +! flags gcc.compile OPTIONS speed : -O3 ; + flags gcc.compile OPTIONS space : -Os ; + + flags gcc.compile OPTIONS off : -fno-inline ; +--- 268,274 ---- + + # Declare flags and action for compilation + flags gcc.compile OPTIONS off : -O0 ; +! flags gcc.compile OPTIONS speed : "$RPM_OPT_FLAGS" ; + flags gcc.compile OPTIONS space : -Os ; + + flags gcc.compile OPTIONS off : -fno-inline ; diff --git a/boost.spec b/boost.spec index 16641cc..5ba52aa 100644 --- a/boost.spec +++ b/boost.spec @@ -1,18 +1,13 @@ %bcond_with tests -%define sonamever 4 Name: boost Summary: The Boost C++ Libraries -Version: 1.36.0 -Release: 0.1.beta1%{?dist} +Version: 1.34.1 +Release: 16%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries -# boost_1_36_0_beta1.tar.bz2 comes from svn checkout: -# svn co http://svn.boost.org/svn/boost/tags/release/Boost_1_36_0_beta1 \ -# boost_1_36_0_beta1 -r 47919 -Source: boost_1_36_0_beta1.tar.bz2 -Source2: boost-gcc-soname.patch +Source: http://downloads.sourceforge.net/boost/boost_1_34_1.tar.bz2 Obsoletes: boost-doc <= 1.30.2 Obsoletes: boost-python <= 1.30.2 Provides: boost-python = %{version}-%{release} @@ -25,8 +20,10 @@ BuildRequires: zlib-devel BuildRequires: python-devel BuildRequires: libicu-devel Patch0: boost-configure.patch +Patch1: boost-gcc-soname.patch Patch2: boost-use-rpm-optflags.patch Patch3: boost-run-tests.patch +Patch4: boost-regex.patch Patch5: boost-gcc43.patch %description @@ -66,11 +63,12 @@ Provides: boost-python-docs = %{version}-%{release} HTML documentation files for Boost C++ libraries. %prep -%setup -q -n %{name}_1_36_0_beta1 +%setup -q -n %{name}_1_34_1 %patch0 -p0 -sed 's/!!!SONAME!!!/%{sonamever}/' %{SOURCE2} | %{__patch} -p1 -%patch2 -p1 +%patch1 -p0 +%patch2 -p0 %patch3 -p0 +%patch4 -p0 %patch5 -p1 %build @@ -137,11 +135,11 @@ for i in `find stage -type f -name \*.a`; do done; for i in `find stage -type f -name \*.so`; do NAME=$i; - SONAME=$i.%{sonamever}; + SONAME=$i.3; VNAME=$i.%{version}; base=`basename $i`; NAMEbase=$base; - SONAMEbase=$base.%{sonamever}; + SONAMEbase=$base.3; VNAMEbase=$base.%{version}; mv $i $VNAME; ln -s $VNAMEbase $SONAME; @@ -184,7 +182,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-, root, root, -) %{_libdir}/*.so.%{version} -%{_libdir}/*.so.%{sonamever} +%{_libdir}/*.so.3 %files devel %defattr(-, root, root, -) @@ -200,12 +198,6 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog -* Mon Aug 11 2008 Petr Machata - 1.36.0-0.1.beta1 -- Rebase to 1.36.0.beta1 - - Drop boost-regex.patch and portions of boost-gcc43.patch, port the rest - - Automate SONAME tracking and bump SONAME to 4 - - Adjust boost-configure.patch to include threading=single,multi explicitly - * Thu Jun 12 2008 Petr Machata - 1.34.1-16 - Fix "changes meaning of keywords" in boost date_time - Related: #450718 diff --git a/sources b/sources index 3f51117..f8946f7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b70fdfdfb6a2ec9cc1b73095c67293cd boost_1_36_0_beta1.tar.bz2 +2d938467e8a448a2c9763e0a9f8ca7e5 boost_1_34_1.tar.bz2 From 13d9b03b8b3cade8dd2212bd05910c3228468464 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 6 Oct 2008 13:59:55 +0000 Subject: [PATCH 024/452] - Fix gcc43 patch to apply cleanly under --fuzz=0 - Resolves: #465003 --- boost-gcc43.patch | 10 +++++----- boost.spec | 6 +++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/boost-gcc43.patch b/boost-gcc43.patch index 4346c3c..af64bd0 100644 --- a/boost-gcc43.patch +++ b/boost-gcc43.patch @@ -138,11 +138,11 @@ diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/bo // determine if its necessary to handle (u)int64_t specifically // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long -diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp ---- boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2005-12-11 07:12:51.000000000 +0100 -+++ boost_1_34_1.pm/boost/archive/polymorphic_oarchive.hpp 2008-02-06 18:42:07.000000000 +0100 -@@ -33,6 +33,8 @@ namespace std{ - #include +diff -urp boost_1_34_1.orig/boost/archive/polymorphic_oarchive.hpp boost_1_34_1/boost/archive/polymorphic_oarchive.hpp +--- boost_1_34_1.orig/boost/archive/polymorphic_oarchive.hpp 2008-10-06 15:38:51.000000000 +0200 ++++ boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2008-10-06 15:38:57.000000000 +0200 +@@ -32,6 +32,8 @@ namespace std{ + #include #include +#include diff --git a/boost.spec b/boost.spec index 5ba52aa..ac767ca 100644 --- a/boost.spec +++ b/boost.spec @@ -3,7 +3,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.34.1 -Release: 16%{?dist} +Release: 17%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -198,6 +198,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Mon Oct 6 2008 Petr Machata - 1.34.1-17 +- Fix gcc43 patch to apply cleanly under --fuzz=0 +- Resolves: #465003 + * Thu Jun 12 2008 Petr Machata - 1.34.1-16 - Fix "changes meaning of keywords" in boost date_time - Related: #450718 From 911173175d5c3010a01140371a36eb40dfd442ce Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Wed, 17 Dec 2008 17:40:21 +0000 Subject: [PATCH 025/452] - Fix rpmlint rpath errors. - Fix rpmlint warnings on tabs and spaces. - Bump SONAME to 4 Tue Nov 17 2008 Benjamin Kosnik - 1.37.0-0.1 - Rebase to 1.37.0. Tue Oct 21 2008 Benjamin Kosnik - 1.36.0-1 - Rebase to 1.36.0. Mon Oct 6 2008 Petr Machata - 1.34.1-17 - Fix gcc43 patch to apply cleanly under --fuzz=0 - Resolves: #465003 Mon Aug 11 2008 Petr Machata - 1.36.0-0.1.beta1 - Rebase to 1.36.0.beta1 - Drop boost-regex.patch and portions of boost-gcc43.patch, port the rest - Automate SONAME tracking and bump SONAME to 4 - Adjust boost-configure.patch to include threading=single,multi explicitly --- .cvsignore | 3 +- boost-configure.patch | 2 +- boost-gcc-soname.patch | 58 +++----- boost-gcc43.patch | 272 ++++++++++++++--------------------- boost-regex.patch | 40 ------ boost-run-tests.patch | 4 +- boost-use-rpm-optflags.patch | 30 ++-- boost.spec | 61 +++++--- import.log | 1 + sources | 2 +- 10 files changed, 190 insertions(+), 283 deletions(-) delete mode 100644 boost-regex.patch create mode 100644 import.log diff --git a/.cvsignore b/.cvsignore index b836a11..0f28482 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1 @@ -boost_1_34_1.tar.bz2 -boost_1_36_0_beta1.tar.bz2 +boost_1_37_0.tar.bz2 diff --git a/boost-configure.patch b/boost-configure.patch index 7ce1a52..91e8508 100644 --- a/boost-configure.patch +++ b/boost-configure.patch @@ -13,7 +13,7 @@ BJAM="" TOOLSET="" -! BJAM_CONFIG="-d2 --layout=system variant=release debug-symbols=on" +! BJAM_CONFIG="-d2 --layout=system variant=release threading=single,multi debug-symbols=on" BUILD="" PREFIX=/usr/local EPREFIX= diff --git a/boost-gcc-soname.patch b/boost-gcc-soname.patch index f26b033..7ab692f 100644 --- a/boost-gcc-soname.patch +++ b/boost-gcc-soname.patch @@ -1,37 +1,21 @@ -*** tools/build/v2/tools/gcc.jam.orig 2007-05-03 08:09:04.000000000 +0200 ---- tools/build/v2/tools/gcc.jam 2007-06-26 20:37:44.000000000 +0200 -*************** if [ os.name ] != NT && [ os.name ] != O -*** 316,322 **** - # expected, therefore it has been disabled. - - HAVE_SONAME = "" ; -! SONAME_OPTION = -h ; - } - - ---- 316,323 ---- - # expected, therefore it has been disabled. - - HAVE_SONAME = "" ; -! SONAME_OPTION = -soname ; -! SONAME_VERSION = 3 ; - } - - -*************** rule link.dll ( targets * : sources * : -*** 631,637 **** - # Differ from 'link' above only by -shared. - actions link.dll bind LIBRARIES - { -! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) - } - - # Set up threading support. It's somewhat contrived, so perform it at the end, ---- 632,638 ---- - # Differ from 'link' above only by -shared. - actions link.dll bind LIBRARIES - { -! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) - } - - # Set up threading support. It's somewhat contrived, so perform it at the end, +--- boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam.orig 2008-08-11 13:15:13.000000000 +0200 ++++ boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam 2008-08-11 15:21:05.000000000 +0200 +@@ -336,7 +336,8 @@ + # OSF does have an option called -soname but it doesn't seem to work as + # expected, therefore it has been disabled. + HAVE_SONAME = "" ; +- SONAME_OPTION = -h ; ++ SONAME_OPTION = -soname ; ++ SONAME_VERSION = !!!SONAME!!! ; + } + + +@@ -726,7 +727,7 @@ + # Differ from 'link' above only by -shared. + actions link.dll bind LIBRARIES + { +- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) ++ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) + } + + # Set up threading support. It's somewhat contrived, so perform it at the end, diff --git a/boost-gcc43.patch b/boost-gcc43.patch index af64bd0..7b1f999 100644 --- a/boost-gcc43.patch +++ b/boost-gcc43.patch @@ -1,182 +1,32 @@ -diff -urp boost_1_34_1/boost/spirit/phoenix/operators.hpp boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp ---- boost_1_34_1/boost/spirit/phoenix/operators.hpp 2006-08-25 18:27:30.000000000 +0200 -+++ boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp 2008-02-06 16:29:32.000000000 +0100 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - /////////////////////////////////////////////////////////////////////////////// - namespace phoenix { -diff -urp boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp ---- boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2006-07-16 18:06:38.000000000 +0200 -+++ boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp 2008-02-06 17:36:42.000000000 +0100 -@@ -24,6 +24,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - - namespace re_detail{ -diff -urp boost_1_34_1/boost/regex/v4/basic_regex.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp ---- boost_1_34_1/boost/regex/v4/basic_regex.hpp 2007-06-05 19:28:18.000000000 +0200 -+++ boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp 2008-02-06 17:33:30.000000000 +0100 -@@ -23,6 +23,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - #ifdef BOOST_MSVC - #pragma warning(push) -diff -urp boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp ---- boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-02-06 17:45:26.000000000 +0100 -+++ boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp 2008-02-06 17:38:58.000000000 +0100 -@@ -23,6 +23,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -diff -urp boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp ---- boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp 2007-01-15 12:09:44.000000000 +0100 -+++ boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp 2008-02-06 17:26:51.000000000 +0100 -@@ -41,6 +41,7 @@ - - #include - #include -+#include - - #ifdef BOOST_HAS_ABI_HEADERS - # include BOOST_ABI_PREFIX -diff -urp boost_1_34_1/boost/regex/v4/perl_matcher.hpp boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp ---- boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2006-10-18 14:55:30.000000000 +0200 -+++ boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp 2008-02-06 17:39:44.000000000 +0100 -@@ -18,6 +18,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -diff -urp boost_1_34_1/boost/regex/v4/regex_split.hpp boost_1_34_1.pm/boost/regex/v4/regex_split.hpp ---- boost_1_34_1/boost/regex/v4/regex_split.hpp 2005-01-21 18:22:38.000000000 +0100 -+++ boost_1_34_1.pm/boost/regex/v4/regex_split.hpp 2008-02-06 17:42:13.000000000 +0100 -@@ -21,6 +21,8 @@ - #ifndef BOOST_REGEX_SPLIT_HPP - #define BOOST_REGEX_SPLIT_HPP - -+#include -+ - namespace boost{ - - #ifdef BOOST_HAS_ABI_HEADERS -diff -urp boost_1_34_1/boost/regex/v4/states.hpp boost_1_34_1.pm/boost/regex/v4/states.hpp ---- boost_1_34_1/boost/regex/v4/states.hpp 2005-09-20 14:01:25.000000000 +0200 -+++ boost_1_34_1.pm/boost/regex/v4/states.hpp 2008-02-06 17:32:42.000000000 +0100 -@@ -23,6 +23,8 @@ - # include BOOST_ABI_PREFIX - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -diff -urp boost_1_34_1/boost/test/test_tools.hpp boost_1_34_1.pm/boost/test/test_tools.hpp ---- boost_1_34_1/boost/test/test_tools.hpp 2007-02-22 18:57:29.000000000 +0100 -+++ boost_1_34_1.pm/boost/test/test_tools.hpp 2008-02-06 17:18:20.000000000 +0100 -@@ -44,6 +44,7 @@ - // STL - #include // for std::size_t - #include -+#include - - #include - -diff -urp boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp ---- boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2006-12-20 17:38:24.000000000 +0100 -+++ boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-02-06 17:25:00.000000000 +0100 -@@ -16,6 +16,8 @@ - #include - #include - #include -+#include -+ - #if defined(BOOST_SPIRIT_DEBUG) - #include - #endif // defined(BOOST_SPIRIT_DEBUG) -diff -urp boost_1_34_1/boost/wave/util/flex_string.hpp boost_1_34_1.pm/boost/wave/util/flex_string.hpp ---- boost_1_34_1/boost/wave/util/flex_string.hpp 2006-04-25 19:21:01.000000000 +0200 -+++ boost_1_34_1.pm/boost/wave/util/flex_string.hpp 2008-02-06 17:22:31.000000000 +0100 -@@ -94,6 +94,7 @@ class StoragePolicy - #include - #include - #include -+#include - - // this must occur after all of the includes and before any code appears - #ifdef BOOST_HAS_ABI_HEADERS -diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp ---- boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2005-12-11 07:12:51.000000000 +0100 -+++ boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp 2008-02-06 18:42:07.000000000 +0100 -@@ -33,6 +33,8 @@ namespace std{ - #include +diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp +--- boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp 2008-08-11 23:49:44.000000000 +0200 ++++ boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -35,6 +35,8 @@ namespace std{ #include + #include +#include + // determine if its necessary to handle (u)int64_t specifically // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long -diff -urp boost_1_34_1.orig/boost/archive/polymorphic_oarchive.hpp boost_1_34_1/boost/archive/polymorphic_oarchive.hpp ---- boost_1_34_1.orig/boost/archive/polymorphic_oarchive.hpp 2008-10-06 15:38:51.000000000 +0200 -+++ boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2008-10-06 15:38:57.000000000 +0200 -@@ -32,6 +32,8 @@ namespace std{ - #include +Only in boost_1_36_0_beta1/boost/archive: polymorphic_iarchive.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp +--- boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp 2008-08-11 23:49:44.000000000 +0200 ++++ boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -34,6 +34,8 @@ namespace std{ #include + #include +#include + // determine if its necessary to handle (u)int64_t specifically // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long -diff -urp boost_1_34_1/boost/date_time/date_facet.hpp boost_1_34_1-pm/boost/date_time/date_facet.hpp ---- boost_1_34_1/boost/date_time/date_facet.hpp 2005-09-05 23:10:50.000000000 +0200 -+++ boost_1_34_1-pm/boost/date_time/date_facet.hpp 2008-02-13 16:07:59.000000000 +0100 -@@ -429,7 +429,7 @@ namespace boost { namespace date_time { - typedef std::basic_string string_type; - typedef CharT char_type; - typedef boost::date_time::period_parser period_parser_type; -- typedef special_values_parser special_values_parser_type; -+ typedef boost::date_time::special_values_parser special_values_parser_type; - typedef std::vector > input_collection_type; - typedef format_date_parser format_date_parser_type; - // date_generators stuff goes here -diff -urp boost_1_34_1/boost/python/detail/def_helper.hpp boost_1_34_1-pm/boost/python/detail/def_helper.hpp ---- boost_1_34_1/boost/python/detail/def_helper.hpp 2004-09-16 03:00:28.000000000 +0200 -+++ boost_1_34_1-pm/boost/python/detail/def_helper.hpp 2008-02-14 13:26:23.000000000 +0100 -@@ -155,7 +155,7 @@ namespace detail - , T3 const& - , T4 const& - , default_call_policies -- , keywords<0> -+ , boost::python::detail::keywords<0> - , char const* - , void(not_specified::*)() // A function pointer type which is never an - // appropriate default implementation -diff -urp new-boost/date_time/tz_db_base.hpp old-boost/date_time/tz_db_base.hpp ---- boost_1_34_1/boost/date_time/tz_db_base.hpp 2008-06-12 13:03:34.000000000 +0200 -+++ boost_1_34_1-pm/boost/date_time/tz_db_base.hpp 2008-06-12 12:59:43.000000000 +0200 +Only in boost_1_36_0_beta1/boost/archive: polymorphic_oarchive.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp +--- boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp 2008-08-11 23:49:45.000000000 +0200 ++++ boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp 2008-08-11 23:50:38.000000000 +0200 @@ -158,7 +158,7 @@ namespace boost { typedef typename time_zone_type::base_type time_zone_base_type; typedef typename time_zone_type::time_duration_type time_duration_type; @@ -213,3 +63,95 @@ diff -urp new-boost/date_time/tz_db_base.hpp old-boost/date_time/tz_db_base.hpp rules = boost::shared_ptr(parse_rules(result[START_DATE_RULE], +Only in boost_1_36_0_beta1/boost/date_time: tz_db_base.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -36,6 +36,8 @@ + # pragma warning(disable: 4800) + #endif + ++#include ++ + namespace boost{ + + namespace re_detail{ +Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_creator.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -30,6 +30,8 @@ + #pragma warning(pop) + #endif + ++#include ++ + namespace boost{ + #ifdef BOOST_MSVC + #pragma warning(push) +Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -30,6 +30,8 @@ + #pragma warning(pop) + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_parser.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -30,6 +30,8 @@ + # pragma warning(disable: 4800) + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +Only in boost_1_36_0_beta1/boost/regex/v4: perl_matcher.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -21,6 +21,8 @@ + #ifndef BOOST_REGEX_SPLIT_HPP + #define BOOST_REGEX_SPLIT_HPP + ++#include ++ + namespace boost{ + + #ifdef BOOST_MSVC +Only in boost_1_36_0_beta1/boost/regex/v4: regex_split.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp boost_1_36_0_beta1/boost/regex/v4/states.hpp +--- boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp 2008-08-11 23:49:48.000000000 +0200 ++++ boost_1_36_0_beta1/boost/regex/v4/states.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -30,6 +30,8 @@ + #pragma warning(pop) + #endif + ++#include ++ + namespace boost{ + namespace re_detail{ + +Only in boost_1_36_0_beta1/boost/regex/v4: states.hpp.orig +diff -urp boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp +--- boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-08-11 23:49:45.000000000 +0200 ++++ boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-08-11 23:50:38.000000000 +0200 +@@ -16,6 +16,8 @@ + #include + #include + #include ++#include ++ + #if defined(BOOST_SPIRIT_DEBUG) + #include + #endif // defined(BOOST_SPIRIT_DEBUG) +Only in boost_1_36_0_beta1/boost/wave/cpplexer/re2clex: cpp_re2c_lexer.hpp.orig diff --git a/boost-regex.patch b/boost-regex.patch deleted file mode 100644 index 9260afc..0000000 --- a/boost-regex.patch +++ /dev/null @@ -1,40 +0,0 @@ -*** boost/regex/v4/basic_regex_parser.hpp.orig 2008-01-14 12:53:01.000000000 -0600 ---- boost/regex/v4/basic_regex_parser.hpp 2008-01-14 12:57:25.000000000 -0600 -*************** bool basic_regex_parser:: -*** 777,782 **** ---- 777,783 ---- - case syntax_element_restart_continue: - case syntax_element_jump: - case syntax_element_startmark: -+ case syntax_element_backstep: - // can't legally repeat any of the above: - fail(regex_constants::error_badrepeat, m_position - m_base); - return false; -*************** bool basic_regex_parser:: -*** 1862,1867 **** ---- 1863,1869 ---- - if(markid == -4) - { - re_syntax_base* b = this->getaddress(expected_alt_point); -+ // Make sure we have exactly one alternative following this state: - if(b->type != syntax_element_alt) - { - re_alt* alt = static_cast(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt))); -*************** bool basic_regex_parser:: -*** 1872,1877 **** ---- 1874,1888 ---- - fail(regex_constants::error_bad_pattern, m_position - m_base); - return false; - } -+ // check for invalid repetition of next state: -+ b = this->getaddress(expected_alt_point); -+ b = this->getaddress(static_cast(b)->next.i, b); -+ if((b->type != syntax_element_assert_backref) -+ && (b->type != syntax_element_startmark)) -+ { -+ fail(regex_constants::error_badrepeat, m_position - m_base); -+ return false; -+ } - } - // - // append closing parenthesis state: diff --git a/boost-run-tests.patch b/boost-run-tests.patch index ee39db0..adcc5f2 100644 --- a/boost-run-tests.patch +++ b/boost-run-tests.patch @@ -1,5 +1,5 @@ -*** tools/regression/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500 ---- tools/regression/run_tests.sh 2007-08-01 12:17:25.000000000 -0500 +*** tools/regression/src/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500 +--- tools/regression/src/run_tests.sh 2007-08-01 12:17:25.000000000 -0500 *************** *** 15,21 **** # This can be either a non-exitent directory or an already complete Boost diff --git a/boost-use-rpm-optflags.patch b/boost-use-rpm-optflags.patch index 6fe2960..5dbb698 100644 --- a/boost-use-rpm-optflags.patch +++ b/boost-use-rpm-optflags.patch @@ -1,19 +1,19 @@ -*** tools/build/v2/tools/gcc.jam.orig 2007-08-01 01:17:16.000000000 -0500 ---- tools/build/v2/tools/gcc.jam 2007-08-01 01:17:46.000000000 -0500 -*************** flags gcc.compile PCH_FILE on : +*** 292,298 **** - # Declare flags and action for compilation - flags gcc.compile OPTIONS off : -O0 ; -! flags gcc.compile OPTIONS speed : -O3 ; - flags gcc.compile OPTIONS space : -Os ; + # Declare flags and action for compilation. + toolset.flags gcc.compile OPTIONS off : -O0 ; +! toolset.flags gcc.compile OPTIONS speed : -O3 ; + toolset.flags gcc.compile OPTIONS space : -Os ; - flags gcc.compile OPTIONS off : -fno-inline ; ---- 268,274 ---- + toolset.flags gcc.compile OPTIONS off : -fno-inline ; +--- 292,298 ---- - # Declare flags and action for compilation - flags gcc.compile OPTIONS off : -O0 ; -! flags gcc.compile OPTIONS speed : "$RPM_OPT_FLAGS" ; - flags gcc.compile OPTIONS space : -Os ; + # Declare flags and action for compilation. + toolset.flags gcc.compile OPTIONS off : -O0 ; +! toolset.flags gcc.compile OPTIONS speed : "$RPM_OPT_FLAGS" ; + toolset.flags gcc.compile OPTIONS space : -Os ; - flags gcc.compile OPTIONS off : -fno-inline ; + toolset.flags gcc.compile OPTIONS off : -fno-inline ; diff --git a/boost.spec b/boost.spec index ac767ca..681e6d6 100644 --- a/boost.spec +++ b/boost.spec @@ -1,13 +1,14 @@ %bcond_with tests +%define sonamever 4 Name: boost Summary: The Boost C++ Libraries -Version: 1.34.1 -Release: 17%{?dist} +Version: 1.37.0 +Release: 1%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries -Source: http://downloads.sourceforge.net/boost/boost_1_34_1.tar.bz2 +Source: boost_1_37_0.tar.bz2 Obsoletes: boost-doc <= 1.30.2 Obsoletes: boost-python <= 1.30.2 Provides: boost-python = %{version}-%{release} @@ -19,12 +20,12 @@ BuildRequires: bzip2-devel BuildRequires: zlib-devel BuildRequires: python-devel BuildRequires: libicu-devel +BuildRequires: chrpath Patch0: boost-configure.patch -Patch1: boost-gcc-soname.patch -Patch2: boost-use-rpm-optflags.patch -Patch3: boost-run-tests.patch -Patch4: boost-regex.patch -Patch5: boost-gcc43.patch +Patch1: boost-use-rpm-optflags.patch +Patch2: boost-run-tests.patch +Patch3: boost-gcc43.patch +Patch4: boost-gcc-soname.patch %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -63,13 +64,12 @@ Provides: boost-python-docs = %{version}-%{release} HTML documentation files for Boost C++ libraries. %prep -%setup -q -n %{name}_1_34_1 -%patch0 -p0 +%setup -q -n %{name}_1_37_0 +%patch0 -p0 %patch1 -p0 %patch2 -p0 -%patch3 -p0 -%patch4 -p0 -%patch5 -p1 +%patch3 -p1 +sed 's/!!!SONAME!!!/%{sonamever}/' %{PATCH4} | %{__patch} -p1 %build BOOST_ROOT=`pwd` @@ -80,7 +80,6 @@ export BOOST_ROOT (cd tools/jam/src && ./build.sh) BJAM=`find tools/jam/src/ -name bjam -a -type f` -#BUILD_FLAGS="--with-toolset=gcc --prefix=$RPM_BUILD_ROOT%{_prefix}" BUILD_FLAGS="--with-toolset=gcc" PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION" @@ -135,16 +134,21 @@ for i in `find stage -type f -name \*.a`; do done; for i in `find stage -type f -name \*.so`; do NAME=$i; - SONAME=$i.3; + SONAME=$i.%{sonamever}; VNAME=$i.%{version}; base=`basename $i`; NAMEbase=$base; - SONAMEbase=$base.3; + SONAMEbase=$base.%{sonamever}; VNAMEbase=$base.%{version}; mv $i $VNAME; + + # remove rpath + chrpath --delete $VNAME; + ln -s $VNAMEbase $SONAME; ln -s $VNAMEbase $NAME; - install -p -m 755 $VNAME $RPM_BUILD_ROOT%{_libdir}/$VNAMEbase; + install -p -m 755 $VNAME $RPM_BUILD_ROOT%{_libdir}/$VNAMEbase; + mv $SONAME $RPM_BUILD_ROOT%{_libdir}/$SONAMEbase; mv $NAME $RPM_BUILD_ROOT%{_libdir}/$NAMEbase; done; @@ -153,7 +157,7 @@ done; find %{name} -type d | while read a; do mkdir -p $RPM_BUILD_ROOT%{_includedir}/$a find $a -mindepth 1 -maxdepth 1 -type f \ - | xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_includedir}/$a + | xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_includedir}/$a done # install doc files @@ -164,7 +168,7 @@ find libs doc more -type f \( -name \*.htm -o -name \*.html \) \ sed "s:^:$DOCPATH:" tmp-doc-directories | xargs -r mkdir -p cat tmp-doc-directories | while read a; do find $a -mindepth 1 -maxdepth 1 -name \*.htm\* \ - | xargs install -m 644 -p -t $DOCPATH$a + | xargs install -m 644 -p -t $DOCPATH$a done rm tmp-doc-directories install -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm @@ -182,7 +186,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-, root, root, -) %{_libdir}/*.so.%{version} -%{_libdir}/*.so.3 +%{_libdir}/*.so.%{sonamever} %files devel %defattr(-, root, root, -) @@ -198,10 +202,27 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Tue Dec 16 2008 Benjamin Kosnik - 1.37.0-1 +- Fix rpmlint rpath errors. +- Fix rpmlint warnings on tabs and spaces. +- Bump SONAME to 4 + +* Tue Nov 17 2008 Benjamin Kosnik - 1.37.0-0.1 +- Rebase to 1.37.0. + +* Tue Oct 21 2008 Benjamin Kosnik - 1.36.0-1 +- Rebase to 1.36.0. + * Mon Oct 6 2008 Petr Machata - 1.34.1-17 - Fix gcc43 patch to apply cleanly under --fuzz=0 - Resolves: #465003 +* Mon Aug 11 2008 Petr Machata - 1.36.0-0.1.beta1 +- Rebase to 1.36.0.beta1 + - Drop boost-regex.patch and portions of boost-gcc43.patch, port the rest + - Automate SONAME tracking and bump SONAME to 4 + - Adjust boost-configure.patch to include threading=single,multi explicitly + * Thu Jun 12 2008 Petr Machata - 1.34.1-16 - Fix "changes meaning of keywords" in boost date_time - Related: #450718 diff --git a/import.log b/import.log new file mode 100644 index 0000000..8ea7cec --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +boost-1_37_0-1_fc10:HEAD:boost-1.37.0-1.fc10.src.rpm:1229535558 diff --git a/sources b/sources index f8946f7..ce35129 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2d938467e8a448a2c9763e0a9f8ca7e5 boost_1_34_1.tar.bz2 +8d9f990bfb7e83769fa5f1d6f065bc92 boost_1_37_0.tar.bz2 From 463220e7bbab4bb314c0aaea36baa39acf632a76 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 19 Dec 2008 13:32:20 +0000 Subject: [PATCH 026/452] - Apply a function_template patch from Caolan McNamara - Resolves: #477131 --- boost-function_template.patch | 14 ++++++++++++++ boost.spec | 8 +++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 boost-function_template.patch diff --git a/boost-function_template.patch b/boost-function_template.patch new file mode 100644 index 0000000..fa57836 --- /dev/null +++ b/boost-function_template.patch @@ -0,0 +1,14 @@ +--- boost/function/function_template.hpp.orig 2008-12-19 10:32:27.000000000 +0000 ++++ boost/function/function_template.hpp 2008-12-19 10:33:27.000000000 +0000 +@@ -950,10 +950,10 @@ + f.vtable->manager(f.functor, this->functor, + boost::detail::function::move_functor_tag); + f.vtable = 0; +-#if !defined(BOOST_NO_EXCEPTIONS) + } else { + clear(); + } ++#if !defined(BOOST_NO_EXCEPTIONS) + } catch (...) { + vtable = 0; + throw; diff --git a/boost.spec b/boost.spec index 681e6d6..b5cbfde 100644 --- a/boost.spec +++ b/boost.spec @@ -4,7 +4,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.37.0 -Release: 1%{?dist} +Release: 2%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -26,6 +26,7 @@ Patch1: boost-use-rpm-optflags.patch Patch2: boost-run-tests.patch Patch3: boost-gcc43.patch Patch4: boost-gcc-soname.patch +Patch5: boost-function_template.patch %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -70,6 +71,7 @@ HTML documentation files for Boost C++ libraries. %patch2 -p0 %patch3 -p1 sed 's/!!!SONAME!!!/%{sonamever}/' %{PATCH4} | %{__patch} -p1 +%patch5 -p0 %build BOOST_ROOT=`pwd` @@ -202,6 +204,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Fri Dec 19 2008 Petr Machata - 1.37.0-2 +- Apply a function_template patch from Caolan McNamara +- Resolves: #477131 + * Tue Dec 16 2008 Benjamin Kosnik - 1.37.0-1 - Fix rpmlint rpath errors. - Fix rpmlint warnings on tabs and spaces. From d2ca7a19ed116e073c1bc08de925935816759f6b Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 12 Jan 2009 09:53:39 +0000 Subject: [PATCH 027/452] - Apply a unneccessary_iostreams patch from Caolan McNamara - Fix soname patch so that it applies with fuzz=0. Use fuzz=0 option in spec file just like ordinary patches do. - Resolves: #479409 --- boost-gcc-soname.patch | 6 +++--- boost-unneccessary_iostreams.patch | 11 +++++++++++ boost.spec | 14 +++++++++++--- 3 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 boost-unneccessary_iostreams.patch diff --git a/boost-gcc-soname.patch b/boost-gcc-soname.patch index 7ab692f..e8ab492 100644 --- a/boost-gcc-soname.patch +++ b/boost-gcc-soname.patch @@ -1,7 +1,7 @@ --- boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam.orig 2008-08-11 13:15:13.000000000 +0200 +++ boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam 2008-08-11 15:21:05.000000000 +0200 @@ -336,7 +336,8 @@ - # OSF does have an option called -soname but it doesn't seem to work as + # OSF does have an option called -soname but it does not seem to work as # expected, therefore it has been disabled. HAVE_SONAME = "" ; - SONAME_OPTION = -h ; @@ -11,11 +11,11 @@ @@ -726,7 +727,7 @@ - # Differ from 'link' above only by -shared. + # Differs from 'link' above only by -shared. actions link.dll bind LIBRARIES { - "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) + "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) } - # Set up threading support. It's somewhat contrived, so perform it at the end, + rule setup-threading ( targets * : sources * : properties * ) diff --git a/boost-unneccessary_iostreams.patch b/boost-unneccessary_iostreams.patch new file mode 100644 index 0000000..a2d3f4b --- /dev/null +++ b/boost-unneccessary_iostreams.patch @@ -0,0 +1,11 @@ +diff -ru boost_1_37_0.orig/boost/spirit/home/classic/iterator/multi_pass.hpp boost_1_37_0/boost/spirit/home/classic/iterator/multi_pass.hpp +--- boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:38:36.000000000 +0000 ++++ boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:39:41.000000000 +0000 +@@ -12,7 +12,6 @@ + #include + #include + #include +-#include + #include // for std::swap + #include // for std::exception + #include diff --git a/boost.spec b/boost.spec index b5cbfde..43097c9 100644 --- a/boost.spec +++ b/boost.spec @@ -4,7 +4,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.37.0 -Release: 2%{?dist} +Release: 3%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -27,6 +27,7 @@ Patch2: boost-run-tests.patch Patch3: boost-gcc43.patch Patch4: boost-gcc-soname.patch Patch5: boost-function_template.patch +Patch6: boost-unneccessary_iostreams.patch %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -66,12 +67,13 @@ HTML documentation files for Boost C++ libraries. %prep %setup -q -n %{name}_1_37_0 -%patch0 -p0 +%patch0 -p0 %patch1 -p0 %patch2 -p0 %patch3 -p1 -sed 's/!!!SONAME!!!/%{sonamever}/' %{PATCH4} | %{__patch} -p1 +sed 's/!!!SONAME!!!/%{sonamever}/' %{PATCH4} | %{__patch} -p1 --fuzz=0 %patch5 -p0 +%patch6 -p0 %build BOOST_ROOT=`pwd` @@ -204,6 +206,12 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Mon Jan 12 2009 Petr Machata - 1.37.0-3 +- Apply a unneccessary_iostreams patch from Caolan McNamara +- Fix soname patch so that it applies with fuzz=0. Use fuzz=0 option + in spec file just like ordinary patches do. +- Resolves: #479409 + * Fri Dec 19 2008 Petr Machata - 1.37.0-2 - Apply a function_template patch from Caolan McNamara - Resolves: #477131 From c99df9fbf72991e593bd3d6c4df55d5a8fbfb9e6 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 24 Feb 2009 05:32:14 +0000 Subject: [PATCH 028/452] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 43097c9..7c6987a 100644 --- a/boost.spec +++ b/boost.spec @@ -4,7 +4,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.37.0 -Release: 3%{?dist} +Release: 4%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -206,6 +206,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Mon Feb 23 2009 Fedora Release Engineering - 1.37.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Mon Jan 12 2009 Petr Machata - 1.37.0-3 - Apply a unneccessary_iostreams patch from Caolan McNamara - Fix soname patch so that it applies with fuzz=0. Use fuzz=0 option From 8493f2dec822751d19cca20fba5637b77785d3d9 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 23 Mar 2009 13:44:39 +0000 Subject: [PATCH 029/452] - Apply a SMP patch from Stefan Ring - Apply a workaround for "cannot appear in a constant-expression" in dynamic_bitset library. - Resolves: #491537 --- boost-1_37_0-smp.patch | 12 ++++++++++++ boost-bitset.patch | 15 +++++++++++++++ boost.spec | 13 ++++++++++++- 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 boost-1_37_0-smp.patch create mode 100644 boost-bitset.patch diff --git a/boost-1_37_0-smp.patch b/boost-1_37_0-smp.patch new file mode 100644 index 0000000..b753bea --- /dev/null +++ b/boost-1_37_0-smp.patch @@ -0,0 +1,12 @@ +diff -up boost_1_37_0/configure.smp boost_1_37_0/configure +--- boost_1_37_0/configure.smp 2009-02-05 18:49:01.000000000 +0100 ++++ boost_1_37_0/configure 2009-02-05 18:53:55.000000000 +0100 +@@ -347,7 +347,7 @@ LIBS=$LIBS + + all: .dummy + @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage" +- @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage || \\ ++ @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) !!!SMP_FLAGS!!! stage || \\ + echo "Not all Boost libraries built properly." + + clean: .dummy diff --git a/boost-bitset.patch b/boost-bitset.patch new file mode 100644 index 0000000..1d354aa --- /dev/null +++ b/boost-bitset.patch @@ -0,0 +1,15 @@ +--- boost_1_37_0/boost/dynamic_bitset/dynamic_bitset.hpp.debug 2008-10-22 03:13:59.000000000 +0900 ++++ boost_1_37_0/boost/dynamic_bitset/dynamic_bitset.hpp 2009-03-23 03:36:40.000000000 +0900 +@@ -1017,8 +1017,11 @@ + ? access_by_bytes + : access_by_blocks; + ++ if (mode) ++ return do_count(m_bits.begin(), num_blocks(), Block(0), ++ static_cast *>(0)); + return do_count(m_bits.begin(), num_blocks(), Block(0), +- static_cast *>(0)); ++ static_cast *>(0)); + } + + diff --git a/boost.spec b/boost.spec index 7c6987a..801e2e3 100644 --- a/boost.spec +++ b/boost.spec @@ -4,7 +4,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.37.0 -Release: 4%{?dist} +Release: 5%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -28,6 +28,8 @@ Patch3: boost-gcc43.patch Patch4: boost-gcc-soname.patch Patch5: boost-function_template.patch Patch6: boost-unneccessary_iostreams.patch +Patch7: boost-1_37_0-smp.patch +Patch8: boost-bitset.patch %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -74,6 +76,9 @@ HTML documentation files for Boost C++ libraries. sed 's/!!!SONAME!!!/%{sonamever}/' %{PATCH4} | %{__patch} -p1 --fuzz=0 %patch5 -p0 %patch6 -p0 +%patch7 -p1 +#sed 's/!!!SMP_FLAGS!!!/%{?_smp_mflags}/' %{PATCH7} | %{__patch} -p1 --fuzz=0 +%patch8 -p1 %build BOOST_ROOT=`pwd` @@ -206,6 +211,12 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Mon Mar 23 2009 Petr Machata - 1.37.0-5 +- Apply a SMP patch from Stefan Ring +- Apply a workaround for "cannot appear in a constant-expression" in + dynamic_bitset library. +- Resolves: #491537 + * Mon Feb 23 2009 Fedora Release Engineering - 1.37.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild From b9e432f0f1d8cba794b98c9600fd56bccf759827 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 23 Mar 2009 14:27:08 +0000 Subject: [PATCH 030/452] Fix messed-up patch application --- boost.spec | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/boost.spec b/boost.spec index 801e2e3..3c21503 100644 --- a/boost.spec +++ b/boost.spec @@ -4,7 +4,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.37.0 -Release: 5%{?dist} +Release: 6%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -76,8 +76,7 @@ HTML documentation files for Boost C++ libraries. sed 's/!!!SONAME!!!/%{sonamever}/' %{PATCH4} | %{__patch} -p1 --fuzz=0 %patch5 -p0 %patch6 -p0 -%patch7 -p1 -#sed 's/!!!SMP_FLAGS!!!/%{?_smp_mflags}/' %{PATCH7} | %{__patch} -p1 --fuzz=0 +sed 's/!!!SMP_FLAGS!!!/%{?_smp_mflags}/' %{PATCH7} | %{__patch} -p1 --fuzz=0 %patch8 -p1 %build @@ -211,7 +210,7 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog -* Mon Mar 23 2009 Petr Machata - 1.37.0-5 +* Mon Mar 23 2009 Petr Machata - 1.37.0-6 - Apply a SMP patch from Stefan Ring - Apply a workaround for "cannot appear in a constant-expression" in dynamic_bitset library. From da089f5ee94bc448c79a96854da9fc9335d82c03 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Mon, 4 May 2009 23:45:09 +0000 Subject: [PATCH 031/452] - Rebuild for libicu bump. --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 3c21503..7066716 100644 --- a/boost.spec +++ b/boost.spec @@ -4,7 +4,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.37.0 -Release: 6%{?dist} +Release: 7%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -210,6 +210,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Mon May 04 2009 Benjamin Kosnik - 1.37.0-7 +- Rebuild for libicu bump. + * Mon Mar 23 2009 Petr Machata - 1.37.0-6 - Apply a SMP patch from Stefan Ring - Apply a workaround for "cannot appear in a constant-expression" in From 908d7d2963827ccc4087022dd06285fc9b1b4e88 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Fri, 8 May 2009 01:11:25 +0000 Subject: [PATCH 032/452] - Update release. Wed May 06 2009 Benjamin Kosnik - 1.39.0-0.3 - Fixes for rpmlint. Wed May 06 2009 Petr Machata - 1.39.0-0.2 - Split up boost package to sub-packages per library - Resolves: #496188 Wed May 06 2009 Benjamin Kosnik - 1.39.0-0.1 - Rebase to 1.39.0. - Add --with docs_generated. - #225622: Substitute optflags at prep time instead of RPM_OPT_FLAGS. --- .cvsignore | 2 +- boost-1_37_0-smp.patch | 12 -- boost-bitset.patch | 4 +- boost-configure.patch | 38 ----- boost-function_template.patch | 14 -- boost-gcc-soname.patch | 21 --- boost-gcc43.patch | 157 ------------------ boost-soname.patch | 37 +++++ boost-use-rpm-optflags.patch | 2 +- boost-version-override.patch | 36 +++++ boost.spec | 295 +++++++++++++++++++++++++++++----- import.log | 1 + sources | 2 +- 13 files changed, 338 insertions(+), 283 deletions(-) delete mode 100644 boost-1_37_0-smp.patch delete mode 100644 boost-configure.patch delete mode 100644 boost-function_template.patch delete mode 100644 boost-gcc-soname.patch delete mode 100644 boost-gcc43.patch create mode 100644 boost-soname.patch create mode 100644 boost-version-override.patch diff --git a/.cvsignore b/.cvsignore index 0f28482..9b0169e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -boost_1_37_0.tar.bz2 +boost_1_39_0.tar.bz2 diff --git a/boost-1_37_0-smp.patch b/boost-1_37_0-smp.patch deleted file mode 100644 index b753bea..0000000 --- a/boost-1_37_0-smp.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up boost_1_37_0/configure.smp boost_1_37_0/configure ---- boost_1_37_0/configure.smp 2009-02-05 18:49:01.000000000 +0100 -+++ boost_1_37_0/configure 2009-02-05 18:53:55.000000000 +0100 -@@ -347,7 +347,7 @@ LIBS=$LIBS - - all: .dummy - @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage" -- @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage || \\ -+ @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) !!!SMP_FLAGS!!! stage || \\ - echo "Not all Boost libraries built properly." - - clean: .dummy diff --git a/boost-bitset.patch b/boost-bitset.patch index 1d354aa..66ef16f 100644 --- a/boost-bitset.patch +++ b/boost-bitset.patch @@ -1,5 +1,5 @@ ---- boost_1_37_0/boost/dynamic_bitset/dynamic_bitset.hpp.debug 2008-10-22 03:13:59.000000000 +0900 -+++ boost_1_37_0/boost/dynamic_bitset/dynamic_bitset.hpp 2009-03-23 03:36:40.000000000 +0900 +--- boost/dynamic_bitset/dynamic_bitset.hpp.debug 2008-10-22 03:13:59.000000000 +0900 ++++ boost/dynamic_bitset/dynamic_bitset.hpp 2009-03-23 03:36:40.000000000 +0900 @@ -1017,8 +1017,11 @@ ? access_by_bytes : access_by_blocks; diff --git a/boost-configure.patch b/boost-configure.patch deleted file mode 100644 index 91e8508..0000000 --- a/boost-configure.patch +++ /dev/null @@ -1,38 +0,0 @@ -*** configure.orig 2007-01-16 01:39:00.000000000 +0100 ---- configure 2007-01-19 03:53:08.000000000 +0100 -*************** -*** 9,15 **** - - BJAM="" - TOOLSET="" -! BJAM_CONFIG="" - BUILD="" - PREFIX=/usr/local - EPREFIX= ---- 9,15 ---- - - BJAM="" - TOOLSET="" -! BJAM_CONFIG="-d2 --layout=system variant=release threading=single,multi debug-symbols=on" - BUILD="" - PREFIX=/usr/local - EPREFIX= -*************** INCLUDEDIR=$INCLUDEDIR -*** 325,332 **** - LIBS=$LIBS - - all: .dummy -! @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS)" -! @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) || \\ - echo "Not all Boost libraries built properly." - - clean: .dummy ---- 325,332 ---- - LIBS=$LIBS - - all: .dummy -! @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage" -! @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage || \\ - echo "Not all Boost libraries built properly." - - clean: .dummy diff --git a/boost-function_template.patch b/boost-function_template.patch deleted file mode 100644 index fa57836..0000000 --- a/boost-function_template.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- boost/function/function_template.hpp.orig 2008-12-19 10:32:27.000000000 +0000 -+++ boost/function/function_template.hpp 2008-12-19 10:33:27.000000000 +0000 -@@ -950,10 +950,10 @@ - f.vtable->manager(f.functor, this->functor, - boost::detail::function::move_functor_tag); - f.vtable = 0; --#if !defined(BOOST_NO_EXCEPTIONS) - } else { - clear(); - } -+#if !defined(BOOST_NO_EXCEPTIONS) - } catch (...) { - vtable = 0; - throw; diff --git a/boost-gcc-soname.patch b/boost-gcc-soname.patch deleted file mode 100644 index e8ab492..0000000 --- a/boost-gcc-soname.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam.orig 2008-08-11 13:15:13.000000000 +0200 -+++ boost_1_36_0_beta1/tools/build/v2/tools/gcc.jam 2008-08-11 15:21:05.000000000 +0200 -@@ -336,7 +336,8 @@ - # OSF does have an option called -soname but it does not seem to work as - # expected, therefore it has been disabled. - HAVE_SONAME = "" ; -- SONAME_OPTION = -h ; -+ SONAME_OPTION = -soname ; -+ SONAME_VERSION = !!!SONAME!!! ; - } - - -@@ -726,7 +727,7 @@ - # Differs from 'link' above only by -shared. - actions link.dll bind LIBRARIES - { -- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) -+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) - } - - rule setup-threading ( targets * : sources * : properties * ) diff --git a/boost-gcc43.patch b/boost-gcc43.patch deleted file mode 100644 index 7b1f999..0000000 --- a/boost-gcc43.patch +++ /dev/null @@ -1,157 +0,0 @@ -diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp ---- boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp 2008-08-11 23:49:44.000000000 +0200 -+++ boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -35,6 +35,8 @@ namespace std{ - #include - #include - -+#include -+ - // determine if its necessary to handle (u)int64_t specifically - // i.e. that its not a synonym for (unsigned) long - // if there is no 64 bit int or if its the same as a long -Only in boost_1_36_0_beta1/boost/archive: polymorphic_iarchive.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp ---- boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp 2008-08-11 23:49:44.000000000 +0200 -+++ boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -34,6 +34,8 @@ namespace std{ - #include - #include - -+#include -+ - // determine if its necessary to handle (u)int64_t specifically - // i.e. that its not a synonym for (unsigned) long - // if there is no 64 bit int or if its the same as a long -Only in boost_1_36_0_beta1/boost/archive: polymorphic_oarchive.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp ---- boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp 2008-08-11 23:49:45.000000000 +0200 -+++ boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -158,7 +158,7 @@ namespace boost { - typedef typename time_zone_type::base_type time_zone_base_type; - typedef typename time_zone_type::time_duration_type time_duration_type; - typedef time_zone_names_base time_zone_names; -- typedef dst_adjustment_offsets dst_adjustment_offsets; -+ typedef dst_adjustment_offsets dst_adjustment_offsets_t; - typedef std::basic_string string_type; - - //! Constructs an empty database -@@ -346,18 +346,18 @@ namespace boost { - time_duration_type utc_offset = - str_from_delimited_time_duration(result[GMTOFFSET]); - -- dst_adjustment_offsets adjust(time_duration_type(0,0,0), -- time_duration_type(0,0,0), -- time_duration_type(0,0,0)); -+ dst_adjustment_offsets_t adjust(time_duration_type(0,0,0), -+ time_duration_type(0,0,0), -+ time_duration_type(0,0,0)); - - boost::shared_ptr rules; - - if(has_dst){ -- adjust = dst_adjustment_offsets( -- str_from_delimited_time_duration(result[DSTADJUST]), -- str_from_delimited_time_duration(result[START_TIME]), -- str_from_delimited_time_duration(result[END_TIME]) -- ); -+ adjust = dst_adjustment_offsets_t( -+ str_from_delimited_time_duration(result[DSTADJUST]), -+ str_from_delimited_time_duration(result[START_TIME]), -+ str_from_delimited_time_duration(result[END_TIME]) -+ ); - - rules = - boost::shared_ptr(parse_rules(result[START_DATE_RULE], -Only in boost_1_36_0_beta1/boost/date_time: tz_db_base.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -36,6 +36,8 @@ - # pragma warning(disable: 4800) - #endif - -+#include -+ - namespace boost{ - - namespace re_detail{ -Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_creator.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -30,6 +30,8 @@ - #pragma warning(pop) - #endif - -+#include -+ - namespace boost{ - #ifdef BOOST_MSVC - #pragma warning(push) -Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -30,6 +30,8 @@ - #pragma warning(pop) - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_parser.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -30,6 +30,8 @@ - # pragma warning(disable: 4800) - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -Only in boost_1_36_0_beta1/boost/regex/v4: perl_matcher.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -21,6 +21,8 @@ - #ifndef BOOST_REGEX_SPLIT_HPP - #define BOOST_REGEX_SPLIT_HPP - -+#include -+ - namespace boost{ - - #ifdef BOOST_MSVC -Only in boost_1_36_0_beta1/boost/regex/v4: regex_split.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp boost_1_36_0_beta1/boost/regex/v4/states.hpp ---- boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp 2008-08-11 23:49:48.000000000 +0200 -+++ boost_1_36_0_beta1/boost/regex/v4/states.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -30,6 +30,8 @@ - #pragma warning(pop) - #endif - -+#include -+ - namespace boost{ - namespace re_detail{ - -Only in boost_1_36_0_beta1/boost/regex/v4: states.hpp.orig -diff -urp boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp ---- boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-08-11 23:49:45.000000000 +0200 -+++ boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-08-11 23:50:38.000000000 +0200 -@@ -16,6 +16,8 @@ - #include - #include - #include -+#include -+ - #if defined(BOOST_SPIRIT_DEBUG) - #include - #endif // defined(BOOST_SPIRIT_DEBUG) -Only in boost_1_36_0_beta1/boost/wave/cpplexer/re2clex: cpp_re2c_lexer.hpp.orig diff --git a/boost-soname.patch b/boost-soname.patch new file mode 100644 index 0000000..52a2e33 --- /dev/null +++ b/boost-soname.patch @@ -0,0 +1,37 @@ +*** tools/build/v2/tools/gcc.jam.orig 2009-05-05 12:45:31.000000000 -0700 +--- tools/build/v2/tools/gcc.jam 2009-05-05 12:48:23.000000000 -0700 +*************** if [ os.name ] != NT && [ os.name ] != O +*** 355,361 **** + # OSF does have an option called -soname but it does not seem to work as + # expected, therefore it has been disabled. + HAVE_SONAME = "" ; +! SONAME_OPTION = -h ; + } + + +--- 355,362 ---- + # OSF does have an option called -soname but it does not seem to work as + # expected, therefore it has been disabled. + HAVE_SONAME = "" ; +! SONAME_OPTION = -soname ; +! SONAME_VERSION = _FEDORA_SONAME ; + } + + +*************** rule link.dll ( targets * : sources * : +*** 793,799 **** + # Differs from 'link' above only by -shared. + actions link.dll bind LIBRARIES + { +! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) + } + + rule setup-threading ( targets * : sources * : properties * ) +--- 794,800 ---- + # Differs from 'link' above only by -shared. + actions link.dll bind LIBRARIES + { +! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) + } + + rule setup-threading ( targets * : sources * : properties * ) diff --git a/boost-use-rpm-optflags.patch b/boost-use-rpm-optflags.patch index 5dbb698..8a9ab94 100644 --- a/boost-use-rpm-optflags.patch +++ b/boost-use-rpm-optflags.patch @@ -13,7 +13,7 @@ # Declare flags and action for compilation. toolset.flags gcc.compile OPTIONS off : -O0 ; -! toolset.flags gcc.compile OPTIONS speed : "$RPM_OPT_FLAGS" ; +! toolset.flags gcc.compile OPTIONS speed : "_FEDORA_OPT_FLAGS" ; toolset.flags gcc.compile OPTIONS space : -Os ; toolset.flags gcc.compile OPTIONS off : -fno-inline ; diff --git a/boost-version-override.patch b/boost-version-override.patch new file mode 100644 index 0000000..83453d5 --- /dev/null +++ b/boost-version-override.patch @@ -0,0 +1,36 @@ +*** Jamroot.orig 2009-05-06 12:46:31.000000000 -0700 +--- Jamroot 2009-05-06 18:18:17.000000000 -0700 +*************** rule tag ( name : type ? : property-set +*** 344,350 **** + else + { + local result = [ common.format-name +! + -$(BUILD_ID) + : $(name) : $(type) : $(property-set) ] ; + +--- 344,350 ---- + else + { + local result = [ common.format-name +! + -$(BUILD_ID) + : $(name) : $(type) : $(property-set) ] ; + +*************** rule tag ( name : type ? : property-set +*** 356,362 **** + # suffixes either. Pgi compilers can not accept library with version + # suffix. + if $(type) = SHARED_LIB && +! ( ! ( [ $(property-set).get ] in windows cygwin darwin aix ) && + ! ( [ $(property-set).get ] in pgi ) ) + { + result = $(result).$(BOOST_VERSION) ; +--- 356,362 ---- + # suffixes either. Pgi compilers can not accept library with version + # suffix. + if $(type) = SHARED_LIB && +! ( ! ( [ $(property-set).get ] in windows cygwin darwin aix linux ) && + ! ( [ $(property-set).get ] in pgi ) ) + { + result = $(result).$(BOOST_VERSION) ; diff --git a/boost.spec b/boost.spec index 7066716..4f65cb1 100644 --- a/boost.spec +++ b/boost.spec @@ -1,18 +1,30 @@ -%bcond_with tests -%define sonamever 4 - Name: boost Summary: The Boost C++ Libraries -Version: 1.37.0 -Release: 7%{?dist} +Version: 1.39.0 +Release: 1%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries -Source: boost_1_37_0.tar.bz2 +Source: boost_1_39_0.tar.bz2 Obsoletes: boost-doc <= 1.30.2 Obsoletes: boost-python <= 1.30.2 -Provides: boost-python = %{version}-%{release} Provides: boost-doc = %{version}-%{release} + +# boost is an "umbrella" package that pulls in all other boost components +Requires: boost-date-time = %{version}-%{release} +Requires: boost-filesystem = %{version}-%{release} +Requires: boost-graph = %{version}-%{release} +Requires: boost-iostreams = %{version}-%{release} +Requires: boost-math = %{version}-%{release} +Requires: boost-test = %{version}-%{release} +Requires: boost-program-options = %{version}-%{release} +Requires: boost-python = %{version}-%{release} +Requires: boost-regex = %{version}-%{release} +Requires: boost-serialization = %{version}-%{release} +Requires: boost-signals = %{version}-%{release} +Requires: boost-system = %{version}-%{release} +Requires: boost-wave = %{version}-%{release} + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libstdc++-devel BuildRequires: bzip2-libs @@ -21,15 +33,16 @@ BuildRequires: zlib-devel BuildRequires: python-devel BuildRequires: libicu-devel BuildRequires: chrpath -Patch0: boost-configure.patch +Patch0: boost-version-override.patch Patch1: boost-use-rpm-optflags.patch Patch2: boost-run-tests.patch -Patch3: boost-gcc43.patch -Patch4: boost-gcc-soname.patch -Patch5: boost-function_template.patch -Patch6: boost-unneccessary_iostreams.patch -Patch7: boost-1_37_0-smp.patch -Patch8: boost-bitset.patch +Patch3: boost-soname.patch +Patch4: boost-unneccessary_iostreams.patch +Patch5: boost-bitset.patch + +%bcond_with tests +%bcond_with docs_generated +%define sonamever 5 %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -40,6 +53,127 @@ libraries are suitable for eventual standardization. (Some of the libraries have already been proposed for inclusion in the C++ Standards Committee's upcoming C++ Standard Library Technical Report.) +%package date-time +Summary: Runtime component of boost date-time library +Group: System Environment/Libraries + +%description date-time + +Runtime support for Boost Date Time, set of date-time libraries based +on generic programming concepts. + +%package filesystem +Summary: Runtime component of boost filesystem library +Group: System Environment/Libraries + +%description filesystem + +Runtime support for the Boost Filesystem Library, which provides +portable facilities to query and manipulate paths, files, and +directories. + +%package graph +Summary: Runtime component of boost graph library +Group: System Environment/Libraries + +%description graph + +Runtime support for the BGL graph library. BGL interface and graph +components are generic, in the same sense as the the Standard Template +Library (STL). + +%package iostreams +Summary: Runtime component of boost iostreams library +Group: System Environment/Libraries + +%description iostreams + +Runtime support for Boost.IOStreams, a framework for defining streams, +stream buffers and i/o filters. + +%package math +Summary: Runtime component of boost math library +Group: System Environment/Libraries + +%description math + +Runtime support Boost.Math, a library of math and numeric tools. + +%package test +Summary: Runtime component of boost test library +Group: System Environment/Libraries + +%description test + +Runtime support for simple program testing, full unit testing, and for +program execution monitoring. + +%package program-options +Summary: Runtime component of boost program_options library +Group: System Environment/Libraries + +%description program-options + +Runtime support of boost program options library, which allows program +developers to obtain (name, value) pairs from the user, via +conventional methods such as command line and config file. + +%package python +Summary: Runtime component of boost python library +Group: System Environment/Libraries + +%description python + +The Boost Python Library is a framework for interfacing Python and +C++. It allows you to quickly and seamlessly expose C++ classes +functions and objects to Python, and vice-versa, using no special +tools -- just your C++ compiler. This package contains runtime +support for Boost Python Library. + +%package regex +Summary: Runtime component of boost regular expression library +Group: System Environment/Libraries + +%description regex + +Runtime support for boost regular expression library. + +%package serialization +Summary: Runtime component of boost serialization library +Group: System Environment/Libraries + +%description serialization + +Runtime support for serialization for persistence and marshalling. + +%package signals +Summary: Runtime component of boost signals and slots library +Group: System Environment/Libraries + +%description signals + +Runtime support for managed signals & slots callback implementation. + +%package system +Summary: Runtime component of boost system support library +Group: System Environment/Libraries + +%description system + +Runtime component of Boost operating system support library, including +the diagnostics support that will be part of the C++0x standard +library. + +%package wave +Summary: Runtime component of boost C99/C++ preprocessing library +Group: System Environment/Libraries + +%description wave + +Runtime support for the Boost.Wave library, a Standards conformant, +and highly configurable implementation of the mandated C99/C++ +preprocessor functionality. + %package devel Summary: The Boost C++ headers and shared development libraries Group: Development/Libraries @@ -68,39 +202,41 @@ Provides: boost-python-docs = %{version}-%{release} HTML documentation files for Boost C++ libraries. %prep -%setup -q -n %{name}_1_37_0 +%setup -q -n %{name}_1_39_0 %patch0 -p0 -%patch1 -p0 +sed 's/_FEDORA_OPT_FLAGS/%{optflags}/' %{PATCH1} | %{__patch} -p0 --fuzz=0 %patch2 -p0 -%patch3 -p1 -sed 's/!!!SONAME!!!/%{sonamever}/' %{PATCH4} | %{__patch} -p1 --fuzz=0 +sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH3} | %{__patch} -p0 --fuzz=0 +%patch4 -p0 %patch5 -p0 -%patch6 -p0 -sed 's/!!!SMP_FLAGS!!!/%{?_smp_mflags}/' %{PATCH7} | %{__patch} -p1 --fuzz=0 -%patch8 -p1 %build BOOST_ROOT=`pwd` -staged_dir=stage export BOOST_ROOT # build make tools, ie bjam, necessary for building libs, docs, and testing (cd tools/jam/src && ./build.sh) BJAM=`find tools/jam/src/ -name bjam -a -type f` -BUILD_FLAGS="--with-toolset=gcc" +CONFIGURE_FLAGS="--with-toolset=gcc" PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION" REGEX_FLAGS="--with-icu" -./configure $BUILD_FLAGS $PYTHON_FLAGS $REGEX_FLAGS -make all +./bootstrap.sh $CONFIGURE_FLAGS $PYTHON_FLAGS $REGEX_FLAGS + +BUILD_VARIANTS="variant=release threading=single,multi debug-symbols=on" +BUILD_FLAGS="-d2 --layout=system $BUILD_VARIANTS" +$BJAM $BUILD_FLAGS %{?_smp_mflags} stage # build docs, requires a network connection for docbook XSLT stylesheets -#cd ./doc -#chmod +x ../tools/boostbook/setup_boostbook.sh -#../tools/boostbook/setup_boostbook.sh -#$BOOST_ROOT/$BJAM --v2 -sICU_PATH=/usr --user-config=../user-config.jam html -#cd .. +%if %{with docs_generated} +cd ./doc +chmod +x ../tools/boostbook/setup_boostbook.sh +../tools/boostbook/setup_boostbook.sh +USER_CFG=$BOOST_ROOT/tools/build/v2/user-config.jam +$BOOST_ROOT/$BJAM --v2 -sICU_PATH=/usr --user-config=$USER_CFG html +cd .. +%endif %check %if %{with tests} @@ -109,8 +245,11 @@ echo "" >> status/regression_comment.html echo "

" `g++ --version` "

" >> status/regression_comment.html echo "" >> status/regression_comment.html -chmod +x tools/regression/run_tests.sh -./tools/regression/run_tests.sh +cd tools/regression/build +#$BOOST_ROOT/$BJAM +cd ../test +#python ./test.py +cd ../../.. results1=status/cs-`uname`.html results2=status/cs-`uname`-links.html @@ -196,6 +335,79 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.so.%{version} %{_libdir}/*.so.%{sonamever} +%files date-time +%defattr(-, root, root, -) +%{_libdir}/libboost_date_time*.so.%{version} +%{_libdir}/libboost_date_time*.so.%{sonamever} + +%files filesystem +%defattr(-, root, root, -) +%{_libdir}/libboost_filesystem*.so.%{version} +%{_libdir}/libboost_filesystem*.so.%{sonamever} + +%files graph +%defattr(-, root, root, -) +%{_libdir}/libboost_graph*.so.%{version} +%{_libdir}/libboost_graph*.so.%{sonamever} + +%files iostreams +%defattr(-, root, root, -) +%{_libdir}/libboost_iostreams*.so.%{version} +%{_libdir}/libboost_iostreams*.so.%{sonamever} + +%files math +%defattr(-, root, root, -) +%{_libdir}/libboost_math*.so.%{version} +%{_libdir}/libboost_math*.so.%{sonamever} + +%files test +%defattr(-, root, root, -) +%{_libdir}/libboost_prg_exec_monitor*.so.%{version} +%{_libdir}/libboost_prg_exec_monitor*.so.%{sonamever} +%{_libdir}/libboost_unit_test_framework*.so.%{version} +%{_libdir}/libboost_unit_test_framework*.so.%{sonamever} + +%files program-options +%defattr(-, root, root, -) +%{_libdir}/libboost_program_options*.so.%{version} +%{_libdir}/libboost_program_options*.so.%{sonamever} + +%files python +%defattr(-, root, root, -) +%{_libdir}/libboost_python*.so.%{version} +%{_libdir}/libboost_python*.so.%{sonamever} + +%files regex +%defattr(-, root, root, -) +%{_libdir}/libboost_regex*.so.%{version} +%{_libdir}/libboost_regex*.so.%{sonamever} + +%files serialization +%defattr(-, root, root, -) +%{_libdir}/libboost_serialization*.so.%{version} +%{_libdir}/libboost_serialization*.so.%{sonamever} +%{_libdir}/libboost_wserialization*.so.%{version} +%{_libdir}/libboost_wserialization*.so.%{sonamever} + +%files signals +%defattr(-, root, root, -) +%{_libdir}/libboost_signals*.so.%{version} +%{_libdir}/libboost_signals*.so.%{sonamever} + +%files system +%defattr(-, root, root, -) +%{_libdir}/libboost_system*.so.%{version} +%{_libdir}/libboost_system*.so.%{sonamever} + +%files wave +%defattr(-, root, root, -) +%{_libdir}/libboost_wave*.so.%{version} +%{_libdir}/libboost_wave*.so.%{sonamever} + +%files doc +%defattr(-, root, root, -) +%doc %{_docdir}/%{name}-%{version} + %files devel %defattr(-, root, root, -) %{_includedir}/boost @@ -205,11 +417,22 @@ rm -rf $RPM_BUILD_ROOT %defattr(-, root, root, -) %{_libdir}/*.a -%files doc -%defattr(-, root, root, -) -%doc %{_docdir}/%{name}-%{version} - %changelog +* Thu May 07 2009 Benjamin Kosnik - 1.39.0-1 +- Update release. + +* Wed May 06 2009 Benjamin Kosnik - 1.39.0-0.3 +- Fixes for rpmlint. + +* Wed May 06 2009 Petr Machata - 1.39.0-0.2 +- Split up boost package to sub-packages per library +- Resolves: #496188 + +* Wed May 06 2009 Benjamin Kosnik - 1.39.0-0.1 +- Rebase to 1.39.0. +- Add --with docs_generated. +- #225622: Substitute optflags at prep time instead of RPM_OPT_FLAGS. + * Mon May 04 2009 Benjamin Kosnik - 1.37.0-7 - Rebuild for libicu bump. diff --git a/import.log b/import.log index 8ea7cec..3b6338d 100644 --- a/import.log +++ b/import.log @@ -1 +1,2 @@ boost-1_37_0-1_fc10:HEAD:boost-1.37.0-1.fc10.src.rpm:1229535558 +boost-1_39_0-1_fc10:HEAD:boost-1.39.0-1.fc10.src.rpm:1241744899 diff --git a/sources b/sources index ce35129..2bcf3a9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8d9f990bfb7e83769fa5f1d6f065bc92 boost_1_37_0.tar.bz2 +a17281fd88c48e0d866e1a12deecbcc0 boost_1_39_0.tar.bz2 From ab7902e7387cfb56979657ad78f477cc14c8cf26 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Mon, 11 May 2009 23:46:25 +0000 Subject: [PATCH 033/452] - Apply patch from Caolan McNamara - Resolves: #500030 function_template bug is back... --- boost-function_template.patch | 15 +++++++++++++++ boost-unneccessary_iostreams.patch | 2 +- boost.spec | 8 +++++++- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 boost-function_template.patch diff --git a/boost-function_template.patch b/boost-function_template.patch new file mode 100644 index 0000000..c8178ea --- /dev/null +++ b/boost-function_template.patch @@ -0,0 +1,15 @@ +diff -ru boost/function/function_template.hpp boost/function/function_template.hpp +--- boost/function/function_template.hpp 2009-05-10 10:31:29.000000000 +0100 ++++ boost/function/function_template.hpp 2009-05-10 10:49:46.000000000 +0100 +@@ -950,10 +950,10 @@ + f.vtable->manager(f.functor, this->functor, + boost::detail::function::move_functor_tag); + f.vtable = 0; +-#if !defined(BOOST_NO_EXCEPTIONS) + } else { + clear(); + } ++#if !defined(BOOST_NO_EXCEPTIONS) + } catch (...) { + vtable = 0; + throw; diff --git a/boost-unneccessary_iostreams.patch b/boost-unneccessary_iostreams.patch index a2d3f4b..5c78a2c 100644 --- a/boost-unneccessary_iostreams.patch +++ b/boost-unneccessary_iostreams.patch @@ -1,4 +1,4 @@ -diff -ru boost_1_37_0.orig/boost/spirit/home/classic/iterator/multi_pass.hpp boost_1_37_0/boost/spirit/home/classic/iterator/multi_pass.hpp +diff -ru boost/spirit/home/classic/iterator/multi_pass.hpp boost/spirit/home/classic/iterator/multi_pass.hpp --- boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:38:36.000000000 +0000 +++ boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:39:41.000000000 +0000 @@ -12,7 +12,6 @@ diff --git a/boost.spec b/boost.spec index 4f65cb1..381d208 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.39.0 -Release: 1%{?dist} +Release: 2%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -39,6 +39,7 @@ Patch2: boost-run-tests.patch Patch3: boost-soname.patch Patch4: boost-unneccessary_iostreams.patch Patch5: boost-bitset.patch +Patch6: boost-function_template.patch %bcond_with tests %bcond_with docs_generated @@ -209,6 +210,7 @@ sed 's/_FEDORA_OPT_FLAGS/%{optflags}/' %{PATCH1} | %{__patch} -p0 --fuzz=0 sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH3} | %{__patch} -p0 --fuzz=0 %patch4 -p0 %patch5 -p0 +%patch6 -p0 %build BOOST_ROOT=`pwd` @@ -418,6 +420,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Mon May 11 2009 Benjamin Kosnik - 1.39.0-2 +- Apply patch from Caolan McNamara +- Resolves: #500030 function_template bug is back... + * Thu May 07 2009 Benjamin Kosnik - 1.39.0-1 - Update release. From 662439cda125e971160a4bc9b76997f6347496f4 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Thu, 2 Jul 2009 16:38:45 +0000 Subject: [PATCH 034/452] - Drop file list for main "boost" package, which was inadvertently left in. - Add thread sub-package to capture omitted boost_thread. - Add upstream patch to make boost_filesystem compatible with C++0x. - Resolves: #496188 - Resolves: #509250 --- boost-fs_gcc44.patch | 163 +++++++++++++++++++++++++++++++++++++++++++ boost.spec | 31 ++++++-- 2 files changed, 190 insertions(+), 4 deletions(-) create mode 100644 boost-fs_gcc44.patch diff --git a/boost-fs_gcc44.patch b/boost-fs_gcc44.patch new file mode 100644 index 0000000..ef02b85 --- /dev/null +++ b/boost-fs_gcc44.patch @@ -0,0 +1,163 @@ +Index: boost/filesystem/operations.hpp +=================================================================== +--- boost/filesystem/operations.hpp (revision 52859) ++++ boost/filesystem/operations.hpp (working copy) +@@ -659,9 +659,9 @@ + { return is_symlink( ph ); } + + inline bool is_empty( const path & ph ) +- { return is_empty( ph ); } ++ { return boost::filesystem::is_empty( ph ); } + inline bool is_empty( const wpath & ph ) +- { return is_empty( ph ); } ++ { return boost::filesystem::is_empty( ph ); } + + inline bool equivalent( const path & ph1, const path & ph2 ) + { return equivalent( ph1, ph2 ); } +Index: libs/filesystem/test/path_test.cpp +=================================================================== +--- libs/filesystem/test/path_test.cpp (revision 52859) ++++ libs/filesystem/test/path_test.cpp (working copy) +@@ -27,9 +27,8 @@ + + namespace fs = boost::filesystem; + using boost::filesystem::path; +-using boost::next; +-using boost::prior; + ++ + #include + + #define PATH_CHECK( a, b ) check( a, b, __LINE__ ) +@@ -480,18 +479,18 @@ + + itr_ck = "foo"; + BOOST_TEST( *itr_ck.begin() == std::string( "foo" ) ); +- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() ); +- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) ); +- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() ); ++ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() ); ++ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) ); ++ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() ); + + itr_ck = path( "/foo" ); + BOOST_TEST( *itr_ck.begin() == std::string( "/" ) ); +- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "foo" ) ); +- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() ); +- BOOST_TEST( next( itr_ck.begin() ) == prior( itr_ck.end() ) ); +- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) ); +- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "/" ) ); +- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() ); ++ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) ); ++ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() ); ++ BOOST_TEST( boost::next( itr_ck.begin() ) == boost::prior( itr_ck.end() ) ); ++ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) ); ++ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) ); ++ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() ); + + itr_ck = "/foo/bar"; + itr = itr_ck.begin(); +@@ -1106,65 +1105,65 @@ + + itr_ck = path( "c:" ); + BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) ); +- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() ); +- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() ); +- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "c:" ) ); ++ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() ); ++ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() ); ++ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "c:" ) ); + + itr_ck = path( "c:/" ); + BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) ); +- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) ); +- BOOST_TEST( next( next( itr_ck.begin() )) == itr_ck.end() ); +- BOOST_TEST( prior( prior( itr_ck.end() )) == itr_ck.begin() ); +- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "/" ) ); +- BOOST_TEST( *prior( prior( itr_ck.end() )) == std::string( "c:" ) ); ++ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) ); ++ BOOST_TEST( boost::next( boost::next( itr_ck.begin() )) == itr_ck.end() ); ++ BOOST_TEST( boost::prior( boost::prior( itr_ck.end() )) == itr_ck.begin() ); ++ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "/" ) ); ++ BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "c:" ) ); + + itr_ck = path( "c:foo" ); + BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) ); +- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "foo" ) ); +- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() ); +- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() ); +- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) ); +- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "c:" ) ); ++ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) ); ++ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() ); ++ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() ); ++ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) ); ++ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "c:" ) ); + + itr_ck = path( "c:/foo" ); + BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) ); +- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) ); +- BOOST_TEST( *next( next( itr_ck.begin() )) == std::string( "foo" ) ); +- BOOST_TEST( next( next( next( itr_ck.begin() ))) == itr_ck.end() ); +- BOOST_TEST( prior( prior( prior( itr_ck.end() ))) == itr_ck.begin() ); +- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) ); +- BOOST_TEST( *prior( prior( itr_ck.end() )) == std::string( "/" ) ); +- BOOST_TEST( *prior( prior( prior( itr_ck.end() ))) == std::string( "c:" ) ); ++ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) ); ++ BOOST_TEST( *boost::next( boost::next( itr_ck.begin() )) == std::string( "foo" ) ); ++ BOOST_TEST( boost::next( boost::next( boost::next( itr_ck.begin() ))) == itr_ck.end() ); ++ BOOST_TEST( boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == itr_ck.begin() ); ++ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) ); ++ BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "/" ) ); ++ BOOST_TEST( *boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == std::string( "c:" ) ); + + itr_ck = path( "//net" ); + BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) ); +- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() ); +- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() ); +- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "//net" ) ); ++ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() ); ++ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() ); ++ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "//net" ) ); + + itr_ck = path( "//net/" ); + CHECK_EQUAL( *itr_ck.begin(), "//net" ); +- CHECK_EQUAL( *next( itr_ck.begin() ), "/" ); +- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() ); +- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() ); +- CHECK_EQUAL( *prior( itr_ck.end() ), "/" ); +- CHECK_EQUAL( *prior(prior( itr_ck.end() )), "//net" ); ++ CHECK_EQUAL( *boost::next( itr_ck.begin() ), "/" ); ++ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() ); ++ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() ); ++ CHECK_EQUAL( *boost::prior( itr_ck.end() ), "/" ); ++ CHECK_EQUAL( *boost::prior(boost::prior( itr_ck.end() )), "//net" ); + + itr_ck = path( "//net/foo" ); + BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) ); +- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) ); +- BOOST_TEST( *next(next( itr_ck.begin() )) == std::string( "foo" ) ); +- BOOST_TEST( next(next(next( itr_ck.begin() ))) == itr_ck.end() ); +- BOOST_TEST( prior(prior(prior( itr_ck.end() ))) == itr_ck.begin() ); +- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) ); +- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "/" ) ); +- BOOST_TEST( *prior(prior(prior( itr_ck.end() ))) == std::string( "//net" ) ); ++ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) ); ++ BOOST_TEST( *boost::next(boost::next( itr_ck.begin() )) == std::string( "foo" ) ); ++ BOOST_TEST( boost::next(boost::next(boost::next( itr_ck.begin() ))) == itr_ck.end() ); ++ BOOST_TEST( boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == itr_ck.begin() ); ++ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) ); ++ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) ); ++ BOOST_TEST( *boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == std::string( "//net" ) ); + + itr_ck = path( "prn:" ); + BOOST_TEST( *itr_ck.begin() == std::string( "prn:" ) ); +- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() ); +- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() ); +- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "prn:" ) ); ++ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() ); ++ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() ); ++ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "prn:" ) ); + } // Windows + + else diff --git a/boost.spec b/boost.spec index 381d208..e108d8b 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.39.0 -Release: 2%{?dist} +Release: 3%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -23,6 +23,7 @@ Requires: boost-regex = %{version}-%{release} Requires: boost-serialization = %{version}-%{release} Requires: boost-signals = %{version}-%{release} Requires: boost-system = %{version}-%{release} +Requires: boost-thread = %{version}-%{release} Requires: boost-wave = %{version}-%{release} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -40,6 +41,7 @@ Patch3: boost-soname.patch Patch4: boost-unneccessary_iostreams.patch Patch5: boost-bitset.patch Patch6: boost-function_template.patch +Patch7: boost-fs_gcc44.patch %bcond_with tests %bcond_with docs_generated @@ -175,6 +177,17 @@ Runtime support for the Boost.Wave library, a Standards conformant, and highly configurable implementation of the mandated C99/C++ preprocessor functionality. +%package thread +Summary: Runtime component of boost thread library +Group: System Environment/Libraries + +%description thread + +Runtime component Boost.Thread library, which provides classes and +functions for managing multiple threads of execution, and for +synchronizing data between the threads or providing separate copies of +data specific to individual threads. + %package devel Summary: The Boost C++ headers and shared development libraries Group: Development/Libraries @@ -211,6 +224,7 @@ sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH3} | %{__patch} -p0 --fuzz=0 %patch4 -p0 %patch5 -p0 %patch6 -p0 +%patch7 -p0 %build BOOST_ROOT=`pwd` @@ -333,9 +347,6 @@ rm -rf $RPM_BUILD_ROOT %postun -p /sbin/ldconfig %files -%defattr(-, root, root, -) -%{_libdir}/*.so.%{version} -%{_libdir}/*.so.%{sonamever} %files date-time %defattr(-, root, root, -) @@ -401,6 +412,11 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libboost_system*.so.%{version} %{_libdir}/libboost_system*.so.%{sonamever} +%files thread +%defattr(-, root, root, -) +%{_libdir}/libboost_thread*.so.%{version} +%{_libdir}/libboost_thread*.so.%{sonamever} + %files wave %defattr(-, root, root, -) %{_libdir}/libboost_wave*.so.%{version} @@ -420,6 +436,13 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Thu Jul 2 2009 Petr Machata - 1.39.0-3 +- Drop file list for main "boost" package, which was inadvertently left in. +- Add thread sub-package to capture omitted boost_thread. +- Add upstream patch to make boost_filesystem compatible with C++0x. +- Resolves: #496188 +- Resolves: #509250 + * Mon May 11 2009 Benjamin Kosnik - 1.39.0-2 - Apply patch from Caolan McNamara - Resolves: #500030 function_template bug is back... From 99838fe19f8c59f06eaa8d327eda83f4311a2118 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Fri, 24 Jul 2009 18:20:22 +0000 Subject: [PATCH 035/452] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index e108d8b..bed805a 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.39.0 -Release: 3%{?dist} +Release: 4%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -436,6 +436,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Fri Jul 24 2009 Fedora Release Engineering - 1.39.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Thu Jul 2 2009 Petr Machata - 1.39.0-3 - Drop file list for main "boost" package, which was inadvertently left in. - Add thread sub-package to capture omitted boost_thread. From 8602a6ea496bbbb2df11403c4aaa414631c35343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Mr=C3=A1z?= Date: Wed, 26 Aug 2009 09:30:23 +0000 Subject: [PATCH 036/452] - Make it to be usable with openssl-1.0 --- boost-openssl-1.0.patch | 15 +++++++++++++++ boost.spec | 7 ++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 boost-openssl-1.0.patch diff --git a/boost-openssl-1.0.patch b/boost-openssl-1.0.patch new file mode 100644 index 0000000..fd9294e --- /dev/null +++ b/boost-openssl-1.0.patch @@ -0,0 +1,15 @@ +diff -up boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp.ossl10 boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp +--- boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp.ossl10 2008-08-09 03:59:54.000000000 +0200 ++++ boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp 2009-08-26 11:26:25.000000000 +0200 +@@ -67,7 +67,11 @@ public: + // Create a new context implementation. + void create(impl_type& impl, context_base::method m) + { ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ const ::SSL_METHOD* ssl_method = 0; ++#else + ::SSL_METHOD* ssl_method = 0; ++#endif + switch (m) + { + case context_base::sslv2: diff --git a/boost.spec b/boost.spec index bed805a..70a3f3f 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.39.0 -Release: 4%{?dist} +Release: 5%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -42,6 +42,7 @@ Patch4: boost-unneccessary_iostreams.patch Patch5: boost-bitset.patch Patch6: boost-function_template.patch Patch7: boost-fs_gcc44.patch +Patch8: boost-openssl-1.0.patch %bcond_with tests %bcond_with docs_generated @@ -225,6 +226,7 @@ sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH3} | %{__patch} -p0 --fuzz=0 %patch5 -p0 %patch6 -p0 %patch7 -p0 +%patch8 -p1 %build BOOST_ROOT=`pwd` @@ -436,6 +438,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Wed Aug 26 2009 Tomas Mraz - 1.39.0-5 +- Make it to be usable with openssl-1.0 + * Fri Jul 24 2009 Fedora Release Engineering - 1.39.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From 00685e2127c2defe13c5ad50fbb10d10dbcf05d7 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Tue, 8 Sep 2009 15:02:02 +0000 Subject: [PATCH 037/452] - bump release and rebuild as the package was linked with an old libicu during the mass rebuild on s390x --- boost.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 70a3f3f..6a0730d 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.39.0 -Release: 5%{?dist} +Release: 6%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -438,6 +438,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Tue Sep 08 2009 Karsten Hopp 1.39.0-6 +- bump release and rebuild as the package was linked with an old libicu + during the mass rebuild on s390x + * Wed Aug 26 2009 Tomas Mraz - 1.39.0-5 - Make it to be usable with openssl-1.0 From fdf885d1442bf26ac09104100532262ca1e135cb Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Tue, 13 Oct 2009 12:02:57 +0000 Subject: [PATCH 038/452] - Disable long double support for ARM --- boost.spec | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/boost.spec b/boost.spec index 6a0730d..e192a1f 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,12 @@ +%define disable_long_double 0 +%ifarch %{arm} +%define disable_long_double 1 +%endif + Name: boost Summary: The Boost C++ Libraries Version: 1.39.0 -Release: 6%{?dist} +Release: 7%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -244,7 +249,10 @@ REGEX_FLAGS="--with-icu" BUILD_VARIANTS="variant=release threading=single,multi debug-symbols=on" BUILD_FLAGS="-d2 --layout=system $BUILD_VARIANTS" -$BJAM $BUILD_FLAGS %{?_smp_mflags} stage +%if %{disable_long_double} +LONG_DOUBLE_FLAGS="--disable-long-double" +%endif +$BJAM $BUILD_FLAGS $LONG_DOUBLE_FLAGS %{?_smp_mflags} stage # build docs, requires a network connection for docbook XSLT stylesheets %if %{with docs_generated} @@ -438,6 +446,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Sun Oct 11 2009 Jitesh Shah 1.39.0-6.fa1 +- Disable long double support for ARM + * Tue Sep 08 2009 Karsten Hopp 1.39.0-6 - bump release and rebuild as the package was linked with an old libicu during the mass rebuild on s390x From 493985599db757584f7185ab5d157ebc0e058cc5 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 14 Oct 2009 11:42:23 +0000 Subject: [PATCH 039/452] - Several fixes to support PySide - Resolves: #520087 - GCC 4.4 name resolution fixes for GIL - Resolves: #526834 --- boost-gil_gcc44.patch | 204 +++++++++++++++++++++++++++++++ boost-python_call_operator.patch | 160 ++++++++++++++++++++++++ boost-python_enums.patch | 136 +++++++++++++++++++++ boost-python_uint.patch | 106 ++++++++++++++++ boost.spec | 18 ++- 5 files changed, 622 insertions(+), 2 deletions(-) create mode 100644 boost-gil_gcc44.patch create mode 100644 boost-python_call_operator.patch create mode 100644 boost-python_enums.patch create mode 100644 boost-python_uint.patch diff --git a/boost-gil_gcc44.patch b/boost-gil_gcc44.patch new file mode 100644 index 0000000..e0f86b7 --- /dev/null +++ b/boost-gil_gcc44.patch @@ -0,0 +1,204 @@ +Index: boost/gil/bit_aligned_pixel_reference.hpp +=================================================================== +--- boost/gil/bit_aligned_pixel_reference.hpp (revision 53049) ++++ boost/gil/bit_aligned_pixel_reference.hpp (working copy) +@@ -145,7 +145,7 @@ + + // Construct from another compatible pixel type + bit_aligned_pixel_reference(const bit_aligned_pixel_reference& p) : _bit_range(p._bit_range) {} +- template bit_aligned_pixel_reference(packed_pixel& p) : _bit_range(static_cast(&at_c<0>(p)), at_c<0>(p).first_bit()) { ++ template bit_aligned_pixel_reference(packed_pixel& p) : _bit_range(static_cast(&gil::at_c<0>(p)), gil::at_c<0>(p).first_bit()) { + check_compatible >(); + } + +Index: boost/gil/color_base.hpp +=================================================================== +--- boost/gil/color_base.hpp (revision 53049) ++++ boost/gil/color_base.hpp (working copy) +@@ -155,15 +155,15 @@ + homogeneous_color_base(Element v0, Element v1, Element v2) : _v0(v0), _v1(v1), _v2(v2) {} + + template homogeneous_color_base(const homogeneous_color_base& c) : +- _v0(at_c::value>(c)), +- _v1(at_c::value>(c)), +- _v2(at_c::value>(c)) {} ++ _v0(gil::at_c::value>(c)), ++ _v1(gil::at_c::value>(c)), ++ _v2(gil::at_c::value>(c)) {} + + // Support for l-value reference proxy copy construction + template homogeneous_color_base( homogeneous_color_base& c) : +- _v0(at_c::value>(c)), +- _v1(at_c::value>(c)), +- _v2(at_c::value>(c)) {} ++ _v0(gil::at_c::value>(c)), ++ _v1(gil::at_c::value>(c)), ++ _v2(gil::at_c::value>(c)) {} + + // Support for planar_pixel_iterator construction and dereferencing + template homogeneous_color_base(P* p,bool) : +Index: boost/gil/color_base_algorithm.hpp +=================================================================== +--- boost/gil/color_base_algorithm.hpp (revision 53049) ++++ boost/gil/color_base_algorithm.hpp (working copy) +@@ -101,7 +101,7 @@ + template struct kth_semantic_element_reference_type { + BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c::type::value)); + typedef typename kth_element_reference_type::type type; +- static type get(ColorBase& cb) { return at_c(cb); } ++ static type get(ColorBase& cb) { return gil::at_c(cb); } + }; + + /// \brief Specifies the return type of the constant semantic_at_c(color_base); +@@ -109,7 +109,7 @@ + template struct kth_semantic_element_const_reference_type { + BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c::type::value)); + typedef typename kth_element_const_reference_type::type type; +- static type get(const ColorBase& cb) { return at_c(cb); } ++ static type get(const ColorBase& cb) { return gil::at_c(cb); } + }; + + /// \brief A mutable accessor to the K-th semantic element of a color base +Index: boost/gil/image_view_factory.hpp +=================================================================== +--- boost/gil/image_view_factory.hpp (revision 53049) ++++ boost/gil/image_view_factory.hpp (working copy) +@@ -102,7 +102,7 @@ + BOOST_STATIC_ASSERT((!is_planar::value && view_is_basic::value)); + BOOST_STATIC_ASSERT((boost::is_pointer::value)); + +- return &at_c<0>(view(0,0)); ++ return &gil::at_c<0>(view(0,0)); + } + + /// \ingroup ImageViewConstructors +@@ -430,7 +430,7 @@ + typedef typename type::xy_locator locator_t; + typedef typename type::x_iterator x_iterator_t; + typedef typename iterator_adaptor_get_base::type x_iterator_base_t; +- x_iterator_t sit(x_iterator_base_t(&at_c(src(0,0))),src.pixels().pixel_size()); ++ x_iterator_t sit(x_iterator_base_t(&gil::at_c(src(0,0))),src.pixels().pixel_size()); + return type(src.dimensions(),locator_t(sit, src.pixels().row_size())); + } + }; +@@ -444,7 +444,7 @@ + typedef typename view_type::value>::type type; + static type make(const View& src) { + typedef typename type::x_iterator x_iterator_t; +- return interleaved_view(src.width(),src.height(),(x_iterator_t)&at_c(src(0,0)), src.pixels().row_size()); ++ return interleaved_view(src.width(),src.height(),(x_iterator_t)&gil::at_c(src(0,0)), src.pixels().row_size()); + } + }; + +@@ -494,7 +494,7 @@ + template kth_channel_deref_fn(const kth_channel_deref_fn&) {} + + result_type operator()(argument_type srcP) const { +- return result_type(at_c(srcP)); ++ return result_type(gil::at_c(srcP)); + } + }; + +Index: boost/gil/packed_pixel.hpp +=================================================================== +--- boost/gil/packed_pixel.hpp (revision 53049) ++++ boost/gil/packed_pixel.hpp (working copy) +@@ -81,7 +81,7 @@ + } + packed_pixel(int chan0, int chan1, int chan2) : _bitfield(0) { + BOOST_STATIC_ASSERT((num_channels::value==3)); +- at_c<0>(*this)=chan0; at_c<1>(*this)=chan1; at_c<2>(*this)=chan2; ++ gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1; gil::at_c<2>(*this)=chan2; + } + packed_pixel(int chan0, int chan1, int chan2, int chan3) : _bitfield(0) { + BOOST_STATIC_ASSERT((num_channels::value==4)); +Index: boost/gil/pixel.hpp +=================================================================== +--- boost/gil/pixel.hpp (revision 53049) ++++ boost/gil/pixel.hpp (working copy) +@@ -143,11 +143,11 @@ + + private: + static void check_gray() { BOOST_STATIC_ASSERT((is_same::value)); } +- template void assign(const Channel& chan, mpl::false_) { check_gray(); at_c<0>(*this)=chan; } +- template bool equal (const Channel& chan, mpl::false_) const { check_gray(); return at_c<0>(*this)==chan; } ++ template void assign(const Channel& chan, mpl::false_) { check_gray(); gil::at_c<0>(*this)=chan; } ++ template bool equal (const Channel& chan, mpl::false_) const { check_gray(); return gil::at_c<0>(*this)==chan; } + public: +- pixel& operator= (channel_t chan) { check_gray(); at_c<0>(*this)=chan; return *this; } +- bool operator==(channel_t chan) const { check_gray(); return at_c<0>(*this)==chan; } ++ pixel& operator= (channel_t chan) { check_gray(); gil::at_c<0>(*this)=chan; return *this; } ++ bool operator==(channel_t chan) const { check_gray(); return gil::at_c<0>(*this)==chan; } + }; + + ///////////////////////////// +Index: boost/gil/planar_pixel_iterator.hpp +=================================================================== +--- boost/gil/planar_pixel_iterator.hpp (revision 53049) ++++ boost/gil/planar_pixel_iterator.hpp (working copy) +@@ -109,8 +109,8 @@ + reference operator->() const { return **this; } + + // PERFORMANCE_CHECK: Remove? +- bool operator< (const planar_pixel_iterator& ptr) const { return at_c<0>(*this)< at_c<0>(ptr); } +- bool operator!=(const planar_pixel_iterator& ptr) const { return at_c<0>(*this)!=at_c<0>(ptr); } ++ bool operator< (const planar_pixel_iterator& ptr) const { return gil::at_c<0>(*this)< gil::at_c<0>(ptr); } ++ bool operator!=(const planar_pixel_iterator& ptr) const { return gil::at_c<0>(*this)!=gil::at_c<0>(ptr); } + private: + friend class boost::iterator_core_access; + +@@ -119,8 +119,8 @@ + void advance(ptrdiff_t d) { static_transform(*this,*this,std::bind2nd(detail::plus_asymmetric(),d)); } + reference dereference() const { return this->template deref(); } + +- ptrdiff_t distance_to(const planar_pixel_iterator& it) const { return at_c<0>(it)-at_c<0>(*this); } +- bool equal(const planar_pixel_iterator& it) const { return at_c<0>(*this)==at_c<0>(it); } ++ ptrdiff_t distance_to(const planar_pixel_iterator& it) const { return gil::at_c<0>(it)-gil::at_c<0>(*this); } ++ bool equal(const planar_pixel_iterator& it) const { return gil::at_c<0>(*this)==gil::at_c<0>(it); } + }; + + namespace detail { +Index: libs/gil/test/pixel.cpp +=================================================================== +--- libs/gil/test/pixel.cpp (revision 53049) ++++ libs/gil/test/pixel.cpp (working copy) +@@ -34,8 +34,9 @@ + // Testing pixel references and values, pixel operations, color conversion + + using namespace boost::gil; +-using namespace std; ++using std::swap; + using namespace boost; ++ + void error_if(bool condition); + + struct increment { +@@ -63,8 +64,8 @@ + + // test homogeneous algorithms - fill, max, min + static const int num_chan = num_channels::value; +- static_fill(C2::_pixel, at_c<0>(C1::_pixel)+1); +- error_if(at_c<0>(C2::_pixel) != at_c(C2::_pixel)); ++ static_fill(C2::_pixel, gil::at_c<0>(C1::_pixel)+1); ++ error_if(gil::at_c<0>(C2::_pixel) != gil::at_c(C2::_pixel)); + + C2::_pixel = C1::_pixel; + error_if(static_max(C2::_pixel) != static_max(C1::_pixel)); +@@ -107,7 +108,7 @@ + error_if(C1::_pixel!=C2::_pixel); + + static_generate(C2::_pixel, set_to_one()); +- error_if(at_c<0>(C2::_pixel) != 1); ++ error_if(gil::at_c<0>(C2::_pixel) != 1); + + // Test swap if both are mutable and if their value type is the same + // (We know the second one is mutable) +@@ -313,7 +314,7 @@ + bgr8_pixel_t bgr8(rgb8); + error_if(bgr8[0] == rgb8[0]); + error_if(dynamic_at_c(bgr8,0) == dynamic_at_c(rgb8,0)); +- error_if(at_c<0>(bgr8) == at_c<0>(rgb8)); ++ error_if(gil::at_c<0>(bgr8) == gil::at_c<0>(rgb8)); + error_if(semantic_at_c<0>(bgr8) != semantic_at_c<0>(rgb8)); + error_if(get_color(bgr8,blue_t()) != get_color(rgb8,blue_t())); + diff --git a/boost-python_call_operator.patch b/boost-python_call_operator.patch new file mode 100644 index 0000000..1a85075 --- /dev/null +++ b/boost-python_call_operator.patch @@ -0,0 +1,160 @@ +Index: /trunk/boost/python/object_core.hpp +=================================================================== +--- /trunk/boost/python/object_core.hpp (revision 45918) ++++ /trunk/boost/python/object_core.hpp (revision 47846) +@@ -42,4 +42,10 @@ + + namespace boost { namespace python { ++ ++namespace detail ++{ ++ class kwds_proxy; ++ class args_proxy; ++} + + namespace converter +@@ -103,4 +109,9 @@ + # define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_PYTHON_MAX_ARITY, )) + # include BOOST_PP_ITERATE() ++ ++ detail::args_proxy operator* () const; ++ object operator()(detail::args_proxy const &args) const; ++ object operator()(detail::args_proxy const &args, ++ detail::kwds_proxy const &kwds) const; + + // truth value testing +@@ -417,4 +428,60 @@ + // + ++namespace detail ++{ ++ ++class call_proxy ++{ ++public: ++ call_proxy(object target) : m_target(target) {} ++ operator object() const { return m_target;} ++ ++ private: ++ object m_target; ++}; ++ ++class kwds_proxy : public call_proxy ++{ ++public: ++ kwds_proxy(object o = object()) : call_proxy(o) {} ++}; ++class args_proxy : public call_proxy ++{ ++public: ++ args_proxy(object o) : call_proxy(o) {} ++ kwds_proxy operator* () const { return kwds_proxy(*this);} ++}; ++} ++ ++template ++detail::args_proxy api::object_operators::operator* () const ++{ ++ object_cref2 x = *static_cast(this); ++ return detail::args_proxy(x); ++} ++ ++template ++object api::object_operators::operator()(detail::args_proxy const &args) const ++{ ++ U const& self = *static_cast(this); ++ PyObject *result = PyObject_Call(get_managed_object(self, tag), ++ args.operator object().ptr(), ++ 0); ++ return object(detail::new_reference(result)); ++ ++} ++ ++template ++object api::object_operators::operator()(detail::args_proxy const &args, ++ detail::kwds_proxy const &kwds) const ++{ ++ U const& self = *static_cast(this); ++ PyObject *result = PyObject_Call(get_managed_object(self, tag), ++ args.operator object().ptr(), ++ kwds.operator object().ptr()); ++ return object(detail::new_reference(result)); ++ ++} ++ + inline object::object() + : object_base(python::incref(Py_None)) +Index: /trunk/libs/python/test/object.cpp +=================================================================== +--- /trunk/libs/python/test/object.cpp (revision 45918) ++++ /trunk/libs/python/test/object.cpp (revision 47846) +@@ -187,4 +187,9 @@ + return s.slice(2,-1).slice(1,-1) == "lo, wor"; + } ++ ++object test_call(object c, object args, object kwds) ++{ ++ return c(*args, **kwds); ++} + + bool check_binary_operators() +@@ -378,4 +383,5 @@ + def("test_not_item", test_not_item); + ++ def("test_call", test_call); + def("check_binary_operators", check_binary_operators); + def("check_inplace", check_inplace); +Index: /trunk/libs/python/test/object.py +=================================================================== +--- /trunk/libs/python/test/object.py (revision 45918) ++++ /trunk/libs/python/test/object.py (revision 47846) +@@ -135,5 +135,10 @@ + Operators + +- ++>>> def print_args(*args, **kwds): ++... print args, kwds ++>>> test_call(print_args, (0, 1, 2, 3), {'a':'A'}) ++(0, 1, 2, 3) {'a': 'A'} ++ ++ + >>> assert check_binary_operators() + +Index: /trunk/libs/python/doc/v2/object.html +=================================================================== +--- /trunk/libs/python/doc/v2/object.html (revision 45918) ++++ /trunk/libs/python/doc/v2/object.html (revision 47846) +@@ -656,4 +656,9 @@ + object operator()(A0 const&, A1 const&,...An const&) const; + ++ detail::args_proxy operator* () const; ++ object operator()(detail::args_proxy const &args) const; ++ object operator()(detail::args_proxy const &args, ++ detail::kwds_proxy const &kwds) const; ++ + // truth value testing + // +@@ -705,4 +710,23 @@ + a2,...aN) + ++ ++
++object operator()(detail::args_proxy const &args) const; 
++
++
++
Effects: ++ call object with arguments given by the tuple args
++
++
++object operator()(detail::args_proxy const &args, 
++                  detail::kwds_proxy const &kwds) const; 
++
++
++
Effects: ++ call object with arguments given by the tuple args, and named ++ arguments given by the dictionary kwds
++
++ ++ +
+ operator bool_type() const;
diff --git a/boost-python_enums.patch b/boost-python_enums.patch
new file mode 100644
index 0000000..639be12
--- /dev/null
+++ b/boost-python_enums.patch
@@ -0,0 +1,136 @@
+Index: /trunk/libs/python/test/enum.py
+===================================================================
+--- /trunk/libs/python/test/enum.py (revision 36256)
++++ /trunk/libs/python/test/enum.py (revision 53660)
+@@ -5,6 +5,6 @@
+ >>> from enum_ext import *
+ 
+->>> identity(color.red)
+-enum_ext.color.red
++>>> identity(color.red) # in case of duplicated enums it always take the last enum
++enum_ext.color.blood
+ 
+ >>> identity(color.green)
+@@ -14,6 +14,6 @@
+ enum_ext.color.blue
+ 
+->>> identity(color(1))
+-enum_ext.color.red
++>>> identity(color(1)) # in case of duplicated enums it always take the last enum
++enum_ext.color.blood
+ 
+ >>> identity(color(2))
+@@ -29,5 +29,5 @@
+ 
+ >>> identity(red)
+-enum_ext.color.red
++enum_ext.color.blood
+ 
+ >>> identity(green)
+@@ -43,8 +43,16 @@
+ >>> c = colorized()
+ >>> c.x
+-enum_ext.color.red
++enum_ext.color.blood
+ >>> c.x = green
+ >>> c.x
+ enum_ext.color.green
++>>> red == blood
++True
++>>> red == green
++False
++>>> hash(red) == hash(blood)
++True
++>>> hash(red) == hash(green)
++False
+ '''
+ 
+Index: /trunk/libs/python/test/enum.cpp
+===================================================================
+--- /trunk/libs/python/test/enum.cpp (revision 24614)
++++ /trunk/libs/python/test/enum.cpp (revision 53660)
+@@ -13,5 +13,5 @@
+ using namespace boost::python;
+ 
+-enum color { red = 1, green = 2, blue = 4 };
++enum color { red = 1, green = 2, blue = 4, blood = 1 };
+ 
+ #if BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
+@@ -35,4 +35,5 @@
+         .value("green", green)
+         .value("blue", blue)
++        .value("blood", blood)
+         .export_values()
+         ;
+Index: /trunk/libs/python/src/object/enum.cpp
+===================================================================
+--- /trunk/libs/python/src/object/enum.cpp (revision 41521)
++++ /trunk/libs/python/src/object/enum.cpp (revision 53660)
+@@ -15,5 +15,5 @@
+ #include 
+ 
+-namespace boost { namespace python { namespace objects { 
++namespace boost { namespace python { namespace objects {
+ 
+ struct enum_object
+@@ -44,5 +44,5 @@
+             if (name == 0)
+                 return 0;
+-            
++
+             return PyString_FromFormat("%s.%s.%s", mod, self_->ob_type->tp_name, name);
+         }
+@@ -140,4 +140,5 @@
+       d["__slots__"] = tuple();
+       d["values"] = dict();
++      d["names"] = dict();
+ 
+       object module_name = module_prefix();
+@@ -146,7 +147,7 @@
+       if (doc)
+          d["__doc__"] = doc;
+-      
++
+       object result = (object(metatype))(name, make_tuple(base), d);
+-      
++
+       scope().attr(name) = result;
+ 
+@@ -168,5 +169,5 @@
+         = const_cast(
+             converter::registry::lookup(id));
+-            
++
+     converters.m_class_object = downcast(this->ptr());
+     converter::registry::insert(to_python, id);
+@@ -187,21 +188,22 @@
+     dict d = extract(this->attr("values"))();
+     d[value] = x;
+-    
++
+     // Set the name field in the new enum instanec
+     enum_object* p = downcast(x.ptr());
+     Py_XDECREF(p->name);
+     p->name = incref(name.ptr());
++
++    dict names_dict = extract(this->attr("names"))();
++    names_dict[x.attr("name")] = x;
+ }
+ 
+ void enum_base::export_values()
+ {
+-    dict d = extract(this->attr("values"))();
+-    list values = d.values();
++    dict d = extract(this->attr("names"))();
++    list items = d.items();
+     scope current;
+-    
+-    for (unsigned i = 0, max = len(values); i < max; ++i)
+-    {
+-        api::setattr(current, object(values[i].attr("name")), values[i]);
+-    }
++
++    for (unsigned i = 0, max = len(items); i < max; ++i)
++        api::setattr(current, items[i][0], items[i][1]);
+  }
+ 
diff --git a/boost-python_uint.patch b/boost-python_uint.patch
new file mode 100644
index 0000000..b27be95
--- /dev/null
+++ b/boost-python_uint.patch
@@ -0,0 +1,106 @@
+Index: /trunk/libs/python/test/test_builtin_converters.py
+===================================================================
+--- /trunk/libs/python/test/test_builtin_converters.py (revision 40714)
++++ /trunk/libs/python/test/test_builtin_converters.py (revision 54919)
+@@ -4,4 +4,22 @@
+ r"""
+ >>> from builtin_converters_ext import *
++
++# Use ctypes to get native C type sizes
++>>> from ctypes import sizeof, c_char, c_short, c_int, c_long, c_longlong
++>>> def test_values_signed(t):
++...     base = 2 ** (8 * sizeof(t) - 1)
++...     return [[-base, -1, 1, base - 1], [-base - 1, base]]
++>>> def test_values_unsigned(t):
++...     base = 2 ** (8 * sizeof(t))
++...     return [[1, base - 1], [-1L, -1, base]]
++>>> def should_pass(method, values):
++...     result = map(method, values)
++...     if result != values:
++...         print "Got %s but expected %s" % (result, values)
++>>> def test_overflow(method, values):
++...     for v in values:
++...         try: method(v)
++...         except OverflowError: pass
++...         else: print "OverflowError expected"
+ 
+ # Synthesize idendity functions in case long long not supported
+@@ -63,13 +81,35 @@
+ 
+    show that we have range checking. 
+- 
+->>> try: rewrap_value_unsigned_short(-42)
+-... except OverflowError: pass
+-... else: print 'expected an OverflowError!'
+-
+->>> try: rewrap_value_int(sys.maxint * 2)
+-... except OverflowError: pass
+-... else: print 'expected an OverflowError!'
+-
++
++>>> should_pass(rewrap_value_signed_char, test_values_signed(c_char)[0])
++>>> should_pass(rewrap_value_short, test_values_signed(c_short)[0])
++>>> should_pass(rewrap_value_int, test_values_signed(c_int)[0])
++>>> should_pass(rewrap_value_long, test_values_signed(c_long)[0])
++>>> should_pass(rewrap_value_long_long, test_values_signed(c_longlong)[0])
++
++>>> should_pass(rewrap_value_unsigned_char, test_values_unsigned(c_char)[0])
++>>> should_pass(rewrap_value_unsigned_short, test_values_unsigned(c_short)[0])
++>>> should_pass(rewrap_value_unsigned_int, test_values_unsigned(c_int)[0])
++>>> should_pass(rewrap_value_unsigned_long, test_values_unsigned(c_long)[0])
++>>> should_pass(rewrap_value_unsigned_long_long,
++...     test_values_unsigned(c_longlong)[0])
++
++>>> test_overflow(rewrap_value_signed_char, test_values_signed(c_char)[1])
++>>> test_overflow(rewrap_value_short, test_values_signed(c_short)[1])
++>>> test_overflow(rewrap_value_int, test_values_signed(c_int)[1])
++>>> test_overflow(rewrap_value_long, test_values_signed(c_long)[1])
++>>> test_overflow(rewrap_value_long_long, test_values_signed(c_longlong)[1])
++
++>>> test_overflow(rewrap_value_unsigned_char, test_values_unsigned(c_char)[1])
++>>> test_overflow(rewrap_value_unsigned_short, test_values_unsigned(c_short)[1])
++>>> test_overflow(rewrap_value_unsigned_int, test_values_unsigned(c_int)[1])
++>>> test_overflow(rewrap_value_unsigned_long, test_values_unsigned(c_long)[1])
++
++# Exceptionally for PyLong_AsUnsignedLongLong(), a negative value raises
++# TypeError on Python versions prior to 2.7
++>>> for v in test_values_unsigned(c_longlong)[1]:
++...     try: rewrap_value_unsigned_long_long(v)
++...     except (OverflowError, TypeError): pass
++...     else: print "OverflowError or TypeError expected"
+ 
+ >>> assert abs(rewrap_value_float(4.2) - 4.2) < .000001
+Index: /trunk/libs/python/src/converter/builtin_converters.cpp
+===================================================================
+--- /trunk/libs/python/src/converter/builtin_converters.cpp (revision 52299)
++++ /trunk/libs/python/src/converter/builtin_converters.cpp (revision 54919)
+@@ -156,8 +156,25 @@
+       static T extract(PyObject* intermediate)
+       {
+-          return numeric_cast(
+-              PyLong_Check(intermediate)
+-              ? PyLong_AsUnsignedLong(intermediate)
+-              : PyInt_AS_LONG(intermediate));
++          if (PyLong_Check(intermediate)) {
++              // PyLong_AsUnsignedLong() checks for negative overflow, so no
++              // need to check it here.
++              unsigned long result = PyLong_AsUnsignedLong(intermediate);
++              if (PyErr_Occurred())
++                  throw_error_already_set();
++              return numeric_cast(result);
++          } else {
++              // None of PyInt_AsUnsigned*() functions check for negative
++              // overflow, so use PyInt_AS_LONG instead and check if number is
++              // negative, issuing the exception appropriately.
++              long result = PyInt_AS_LONG(intermediate);
++              if (PyErr_Occurred())
++                  throw_error_already_set();
++              if (result < 0) {
++                  PyErr_SetString(PyExc_OverflowError, "can't convert negative"
++                                  " value to unsigned");
++                  throw_error_already_set();
++              }
++              return numeric_cast(result);
++          }
+       }
+   };
diff --git a/boost.spec b/boost.spec
index e192a1f..9462037 100644
--- a/boost.spec
+++ b/boost.spec
@@ -6,7 +6,7 @@
 Name: boost
 Summary: The Boost C++ Libraries
 Version: 1.39.0
-Release: 7%{?dist}
+Release: 8%{?dist}
 License: Boost
 URL: http://www.boost.org/
 Group: System Environment/Libraries
@@ -48,6 +48,10 @@ Patch5: boost-bitset.patch
 Patch6: boost-function_template.patch
 Patch7: boost-fs_gcc44.patch
 Patch8: boost-openssl-1.0.patch
+Patch9: boost-gil_gcc44.patch
+Patch10: boost-python_call_operator.patch
+Patch11: boost-python_enums.patch
+Patch12: boost-python_uint.patch
 
 %bcond_with tests
 %bcond_with docs_generated
@@ -232,6 +236,10 @@ sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH3} | %{__patch} -p0 --fuzz=0
 %patch6 -p0
 %patch7 -p0
 %patch8 -p1
+%patch9 -p0
+%patch10 -p2
+%patch11 -p2
+%patch12 -p2
 
 %build
 BOOST_ROOT=`pwd`
@@ -446,7 +454,13 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/*.a
 
 %changelog
-* Sun Oct 11 2009 Jitesh Shah  1.39.0-6.fa1
+* Wed Oct 14 2009 Petr Machata  - 1.39.0-8
+- Several fixes to support PySide
+- Resolves: #520087
+- GCC 4.4 name resolution fixes for GIL
+- Resolves: #526834
+
+* Sun Oct 11 2009 Jitesh Shah  1.39.0-7
 - Disable long double support for ARM
 
 * Tue Sep 08 2009 Karsten Hopp  1.39.0-6

From bcb908e5d82f9ae4442892bb1d6456b5df8ca33e Mon Sep 17 00:00:00 2001
From: Petr Machata 
Date: Thu, 15 Oct 2009 12:24:13 +0000
Subject: [PATCH 040/452] - Package index.html in the -doc subpackage -
 Resolves: #529030

---
 boost.spec | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/boost.spec b/boost.spec
index 9462037..8fdc884 100644
--- a/boost.spec
+++ b/boost.spec
@@ -6,7 +6,7 @@
 Name: boost
 Summary: The Boost C++ Libraries
 Version: 1.39.0
-Release: 8%{?dist}
+Release: 9%{?dist}
 License: Boost
 URL: http://www.boost.org/
 Group: System Environment/Libraries
@@ -39,6 +39,7 @@ BuildRequires: zlib-devel
 BuildRequires: python-devel
 BuildRequires: libicu-devel
 BuildRequires: chrpath
+
 Patch0: boost-version-override.patch
 Patch1: boost-use-rpm-optflags.patch
 Patch2: boost-run-tests.patch
@@ -352,7 +353,7 @@ cat tmp-doc-directories | while read a; do
     | xargs install -m 644 -p -t $DOCPATH$a
 done
 rm tmp-doc-directories
-install -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm
+install -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html
 
 # remove scripts used to generate include files
 find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \;
@@ -454,6 +455,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/*.a
 
 %changelog
+* Thu Oct 15 2009 Petr Machata  - 1.39.0-9
+- Package index.html in the -doc subpackage
+- Resolves: #529030
+
 * Wed Oct 14 2009 Petr Machata  - 1.39.0-8
 - Several fixes to support PySide
 - Resolves: #520087

From 78eebed0cda92ad2915fbe1daea23299683dc9b1 Mon Sep 17 00:00:00 2001
From: Petr Machata 
Date: Mon, 16 Nov 2009 22:45:53 +0000
Subject: [PATCH 041/452] - translate_exception.hpp misses a include - Related:
 #537612

---
 boost-python_translate_exception.patch | 13 +++++++++++++
 boost.spec                             | 17 +++++++++++++++--
 2 files changed, 28 insertions(+), 2 deletions(-)
 create mode 100644 boost-python_translate_exception.patch

diff --git a/boost-python_translate_exception.patch b/boost-python_translate_exception.patch
new file mode 100644
index 0000000..e1f6ab0
--- /dev/null
+++ b/boost-python_translate_exception.patch
@@ -0,0 +1,13 @@
+diff -up /home/petr/fedora/boost/F-12/boost_1_39_0/boost/python/detail/translate_exception.hpp\~ /home/petr/fedora/boost/F-12/boost_1_39_0/boost/python/detail/translate_exception.hpp
+--- boost_1_39_0/boost/python/detail/translate_exception.hpp~	2004-08-20 13:10:24.000000000 +0200
++++ boost_1_39_0/boost/python/detail/translate_exception.hpp	2009-11-16 23:30:23.000000000 +0100
+@@ -9,6 +9,7 @@
+ 
+ # include 
+ # include 
++# include 
+ 
+ # include 
+ 
+
+Diff finished.  Mon Nov 16 23:30:41 2009
diff --git a/boost.spec b/boost.spec
index 8fdc884..7ae1e78 100644
--- a/boost.spec
+++ b/boost.spec
@@ -6,11 +6,11 @@
 Name: boost
 Summary: The Boost C++ Libraries
 Version: 1.39.0
-Release: 9%{?dist}
+Release: 10%{?dist}
 License: Boost
 URL: http://www.boost.org/
 Group: System Environment/Libraries
-Source: boost_1_39_0.tar.bz2
+Source: http://downloads.sourceforge.net/project/boost/boost/1.39.0/boost_1_39_0.tar.bz2
 Obsoletes: boost-doc <= 1.30.2
 Obsoletes: boost-python <= 1.30.2
 Provides: boost-doc = %{version}-%{release}
@@ -40,20 +40,28 @@ BuildRequires: python-devel
 BuildRequires: libicu-devel
 BuildRequires: chrpath
 
+# Fedora-centric patch.
 Patch0: boost-version-override.patch
 Patch1: boost-use-rpm-optflags.patch
 Patch2: boost-run-tests.patch
 Patch3: boost-soname.patch
+
+# Upstream status unknown.
 Patch4: boost-unneccessary_iostreams.patch
 Patch5: boost-bitset.patch
 Patch6: boost-function_template.patch
 Patch7: boost-fs_gcc44.patch
 Patch8: boost-openssl-1.0.patch
+
+# These patches are taken from post-1.39.0 SVN (i.e. are all upstream
+# and will likely go away when we rebase).
 Patch9: boost-gil_gcc44.patch
 Patch10: boost-python_call_operator.patch
 Patch11: boost-python_enums.patch
 Patch12: boost-python_uint.patch
 
+Patch13: boost-python_translate_exception.patch # Not upstream
+
 %bcond_with tests
 %bcond_with docs_generated
 %define sonamever 5
@@ -241,6 +249,7 @@ sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH3} | %{__patch} -p0 --fuzz=0
 %patch10 -p2
 %patch11 -p2
 %patch12 -p2
+%patch13 -p1
 
 %build
 BOOST_ROOT=`pwd`
@@ -455,6 +464,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/*.a
 
 %changelog
+* Mon Nov 16 2009 Petr Machata  - 1.39.0-10
+- translate_exception.hpp misses a include
+- Related: #537612
+
 * Thu Oct 15 2009 Petr Machata  - 1.39.0-9
 - Package index.html in the -doc subpackage
 - Resolves: #529030

From 3ce89fee2e74204bcbfa66ec52ffc7517c6d0ddc Mon Sep 17 00:00:00 2001
From: Petr Machata 
Date: Mon, 16 Nov 2009 22:51:28 +0000
Subject: [PATCH 042/452] Bah.

---
 boost.spec | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/boost.spec b/boost.spec
index 7ae1e78..e150dab 100644
--- a/boost.spec
+++ b/boost.spec
@@ -6,7 +6,7 @@
 Name: boost
 Summary: The Boost C++ Libraries
 Version: 1.39.0
-Release: 10%{?dist}
+Release: 11%{?dist}
 License: Boost
 URL: http://www.boost.org/
 Group: System Environment/Libraries
@@ -60,7 +60,8 @@ Patch10: boost-python_call_operator.patch
 Patch11: boost-python_enums.patch
 Patch12: boost-python_uint.patch
 
-Patch13: boost-python_translate_exception.patch # Not upstream
+# Not upstream
+Patch13: boost-python_translate_exception.patch
 
 %bcond_with tests
 %bcond_with docs_generated
@@ -464,6 +465,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/*.a
 
 %changelog
+* Mon Nov 16 2009 Petr Machata  - 1.39.0-11
+- Move comment in Patch13 out of line
+
 * Mon Nov 16 2009 Petr Machata  - 1.39.0-10
 - translate_exception.hpp misses a include
 - Related: #537612

From 456c3cfce0217ac54b15eafb39259667869c65ae Mon Sep 17 00:00:00 2001
From: Bill Nottingham 
Date: Wed, 25 Nov 2009 22:46:07 +0000
Subject: [PATCH 043/452] Fix typo that causes a failure to update the common
 directory. (releng     #2781)

---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 8ebb4c7..a239116 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,10 @@
 # Makefile for source rpm: boost
-# $Id: Makefile,v 1.3 2005/08/19 17:39:58 bkoz Exp $
+# $Id: Makefile,v 1.4 2007/10/15 17:13:04 scop Exp $
 NAME := boost
 SPECFILE = $(firstword $(wildcard *.spec))
 
 define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
 endef
 
 MAKEFILE_COMMON := $(shell $(find-makefile-common))

From 1891c7ba660015693a0f0c7bd48598f6eeac20cb Mon Sep 17 00:00:00 2001
From: Petr Machata 
Date: Fri, 15 Jan 2010 16:36:38 +0000
Subject: [PATCH 044/452] Commit 1.41.0

---
 .cvsignore                             |   2 +-
 boost-bitset.patch                     |  15 -
 boost-cmake-soname.patch               |  19 ++
 boost-fs_gcc44.patch                   | 163 ----------
 boost-function_template.patch          |  15 -
 boost-gil_gcc44.patch                  | 204 -------------
 boost-graph-compile.patch              |  12 +
 boost-openssl-1.0.patch                |  15 -
 boost-python_call_operator.patch       | 160 ----------
 boost-python_enums.patch               | 136 ---------
 boost-python_translate_exception.patch |  13 -
 boost-python_uint.patch                | 106 -------
 boost-run-tests.patch                  | 168 ----------
 boost-soname.patch                     |  37 ---
 boost-unneccessary_iostreams.patch     |  11 -
 boost-use-rpm-optflags.patch           |  19 --
 boost-version-override.patch           |  36 ---
 boost.spec                             | 407 ++++++++++++++-----------
 sources                                |   2 +-
 19 files changed, 257 insertions(+), 1283 deletions(-)
 delete mode 100644 boost-bitset.patch
 create mode 100644 boost-cmake-soname.patch
 delete mode 100644 boost-fs_gcc44.patch
 delete mode 100644 boost-function_template.patch
 delete mode 100644 boost-gil_gcc44.patch
 create mode 100644 boost-graph-compile.patch
 delete mode 100644 boost-openssl-1.0.patch
 delete mode 100644 boost-python_call_operator.patch
 delete mode 100644 boost-python_enums.patch
 delete mode 100644 boost-python_translate_exception.patch
 delete mode 100644 boost-python_uint.patch
 delete mode 100644 boost-run-tests.patch
 delete mode 100644 boost-soname.patch
 delete mode 100644 boost-unneccessary_iostreams.patch
 delete mode 100644 boost-use-rpm-optflags.patch
 delete mode 100644 boost-version-override.patch

diff --git a/.cvsignore b/.cvsignore
index 9b0169e..e7d1d12 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1 @@
-boost_1_39_0.tar.bz2
+boost-1.41.0.cmake0.tar.bz2
diff --git a/boost-bitset.patch b/boost-bitset.patch
deleted file mode 100644
index 66ef16f..0000000
--- a/boost-bitset.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- boost/dynamic_bitset/dynamic_bitset.hpp.debug	2008-10-22 03:13:59.000000000 +0900
-+++ boost/dynamic_bitset/dynamic_bitset.hpp	2009-03-23 03:36:40.000000000 +0900
-@@ -1017,8 +1017,11 @@
-                           ? access_by_bytes
-                           : access_by_blocks;
- 
-+    if (mode)
-+       return do_count(m_bits.begin(), num_blocks(), Block(0),
-+                                          static_cast *>(0));
-     return do_count(m_bits.begin(), num_blocks(), Block(0),
--                                       static_cast *>(0));
-+                                       static_cast *>(0));
- }
- 
- 
diff --git a/boost-cmake-soname.patch b/boost-cmake-soname.patch
new file mode 100644
index 0000000..09c5e58
--- /dev/null
+++ b/boost-cmake-soname.patch
@@ -0,0 +1,19 @@
+*** tools/build/CMake/BoostCore.cmake.orig	2010-01-12 20:01:46.006547352 -0800
+--- tools/build/CMake/BoostCore.cmake	2010-01-12 20:02:54.222546929 -0800
+*************** macro(boost_library_variant LIBNAME)
+*** 755,761 ****
+        if (BUILD_SOVERSIONED)
+  	set_target_properties(${VARIANT_LIBNAME}
+  	  PROPERTIES
+! 	  SOVERSION "${BOOST_VERSION}"
+  	  )
+        endif()
+      endif ()
+--- 755,761 ----
+        if (BUILD_SOVERSIONED)
+  	set_target_properties(${VARIANT_LIBNAME}
+  	  PROPERTIES
+! 	  SOVERSION "6"
+  	  )
+        endif()
+      endif ()
diff --git a/boost-fs_gcc44.patch b/boost-fs_gcc44.patch
deleted file mode 100644
index ef02b85..0000000
--- a/boost-fs_gcc44.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-Index: boost/filesystem/operations.hpp
-===================================================================
---- boost/filesystem/operations.hpp	(revision 52859)
-+++ boost/filesystem/operations.hpp	(working copy)
-@@ -659,9 +659,9 @@
-       { return is_symlink( ph ); }
- 
-     inline bool is_empty( const path & ph )
--      { return is_empty( ph ); }
-+      { return boost::filesystem::is_empty( ph ); }
-     inline bool is_empty( const wpath & ph )
--      { return is_empty( ph ); }
-+      { return boost::filesystem::is_empty( ph ); }
- 
-     inline bool equivalent( const path & ph1, const path & ph2 )
-       { return equivalent( ph1, ph2 ); }
-Index: libs/filesystem/test/path_test.cpp
-===================================================================
---- libs/filesystem/test/path_test.cpp	(revision 52859)
-+++ libs/filesystem/test/path_test.cpp	(working copy)
-@@ -27,9 +27,8 @@
- 
- namespace fs = boost::filesystem;
- using boost::filesystem::path;
--using boost::next;
--using boost::prior;
- 
-+
- #include 
- 
- #define PATH_CHECK( a, b ) check( a, b, __LINE__ )
-@@ -480,18 +479,18 @@
- 
-   itr_ck = "foo";
-   BOOST_TEST( *itr_ck.begin() == std::string( "foo" ) );
--  BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
--  BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
--  BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
-+  BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
-+  BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
-+  BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
- 
-   itr_ck = path( "/foo" );
-   BOOST_TEST( *itr_ck.begin() == std::string( "/" ) );
--  BOOST_TEST( *next( itr_ck.begin() ) == std::string( "foo" ) );
--  BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
--  BOOST_TEST( next( itr_ck.begin() ) == prior( itr_ck.end() ) );
--  BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
--  BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "/" ) );
--  BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
-+  BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) );
-+  BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
-+  BOOST_TEST( boost::next( itr_ck.begin() ) == boost::prior( itr_ck.end() ) );
-+  BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
-+  BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) );
-+  BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
- 
-   itr_ck = "/foo/bar";
-   itr = itr_ck.begin();
-@@ -1106,65 +1105,65 @@
- 
-     itr_ck = path( "c:" );
-     BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
--    BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
--    BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
--    BOOST_TEST( *prior( itr_ck.end() ) == std::string( "c:" ) );
-+    BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
-+    BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
-+    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "c:" ) );
- 
-     itr_ck = path( "c:/" );
-     BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
--    BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
--    BOOST_TEST( next( next( itr_ck.begin() )) == itr_ck.end() );
--    BOOST_TEST( prior( prior( itr_ck.end() )) == itr_ck.begin() );
--    BOOST_TEST( *prior( itr_ck.end() ) == std::string( "/" ) );
--    BOOST_TEST( *prior( prior( itr_ck.end() )) == std::string( "c:" ) );
-+    BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
-+    BOOST_TEST( boost::next( boost::next( itr_ck.begin() )) == itr_ck.end() );
-+    BOOST_TEST( boost::prior( boost::prior( itr_ck.end() )) == itr_ck.begin() );
-+    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "/" ) );
-+    BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "c:" ) );
- 
-     itr_ck = path( "c:foo" );
-     BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
--    BOOST_TEST( *next( itr_ck.begin() ) == std::string( "foo" ) );
--    BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
--    BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
--    BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
--    BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "c:" ) );
-+    BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) );
-+    BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
-+    BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
-+    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
-+    BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "c:" ) );
- 
-     itr_ck = path( "c:/foo" );
-     BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
--    BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
--    BOOST_TEST( *next( next( itr_ck.begin() )) == std::string( "foo" ) );
--    BOOST_TEST( next( next( next( itr_ck.begin() ))) == itr_ck.end() );
--    BOOST_TEST( prior( prior( prior( itr_ck.end() ))) == itr_ck.begin() );
--    BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
--    BOOST_TEST( *prior( prior( itr_ck.end() )) == std::string( "/" ) );
--    BOOST_TEST( *prior( prior( prior( itr_ck.end() ))) == std::string( "c:" ) );
-+    BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
-+    BOOST_TEST( *boost::next( boost::next( itr_ck.begin() )) == std::string( "foo" ) );
-+    BOOST_TEST( boost::next( boost::next( boost::next( itr_ck.begin() ))) == itr_ck.end() );
-+    BOOST_TEST( boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == itr_ck.begin() );
-+    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
-+    BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "/" ) );
-+    BOOST_TEST( *boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == std::string( "c:" ) );
- 
-     itr_ck = path( "//net" );
-     BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) );
--    BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
--    BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
--    BOOST_TEST( *prior( itr_ck.end() ) == std::string( "//net" ) );
-+    BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
-+    BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
-+    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "//net" ) );
- 
-     itr_ck = path( "//net/" );
-     CHECK_EQUAL( *itr_ck.begin(), "//net" );
--    CHECK_EQUAL( *next( itr_ck.begin() ), "/" );
--    BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
--    BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
--    CHECK_EQUAL( *prior( itr_ck.end() ), "/" );
--    CHECK_EQUAL( *prior(prior( itr_ck.end() )), "//net" );
-+    CHECK_EQUAL( *boost::next( itr_ck.begin() ), "/" );
-+    BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
-+    BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
-+    CHECK_EQUAL( *boost::prior( itr_ck.end() ), "/" );
-+    CHECK_EQUAL( *boost::prior(boost::prior( itr_ck.end() )), "//net" );
- 
-     itr_ck = path( "//net/foo" );
-     BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) );
--    BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
--    BOOST_TEST( *next(next( itr_ck.begin() )) == std::string( "foo" ) );
--    BOOST_TEST( next(next(next( itr_ck.begin() ))) == itr_ck.end() );
--    BOOST_TEST( prior(prior(prior( itr_ck.end() ))) == itr_ck.begin() );
--    BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
--    BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "/" ) );
--    BOOST_TEST( *prior(prior(prior( itr_ck.end() ))) == std::string( "//net" ) );
-+    BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
-+    BOOST_TEST( *boost::next(boost::next( itr_ck.begin() )) == std::string( "foo" ) );
-+    BOOST_TEST( boost::next(boost::next(boost::next( itr_ck.begin() ))) == itr_ck.end() );
-+    BOOST_TEST( boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == itr_ck.begin() );
-+    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
-+    BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) );
-+    BOOST_TEST( *boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == std::string( "//net" ) );
- 
-     itr_ck = path( "prn:" );
-     BOOST_TEST( *itr_ck.begin() == std::string( "prn:" ) );
--    BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
--    BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
--    BOOST_TEST( *prior( itr_ck.end() ) == std::string( "prn:" ) );
-+    BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
-+    BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
-+    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "prn:" ) );
-   } // Windows
- 
-   else
diff --git a/boost-function_template.patch b/boost-function_template.patch
deleted file mode 100644
index c8178ea..0000000
--- a/boost-function_template.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ru boost/function/function_template.hpp boost/function/function_template.hpp
---- boost/function/function_template.hpp	2009-05-10 10:31:29.000000000 +0100
-+++ boost/function/function_template.hpp	2009-05-10 10:49:46.000000000 +0100
-@@ -950,10 +950,10 @@
-           f.vtable->manager(f.functor, this->functor,
-                             boost::detail::function::move_functor_tag);
- 		  f.vtable = 0;
--#if !defined(BOOST_NO_EXCEPTIONS)      
-         } else {
-           clear();
-         }
-+#if !defined(BOOST_NO_EXCEPTIONS)      
-       } catch (...) {
-         vtable = 0;
-         throw;
diff --git a/boost-gil_gcc44.patch b/boost-gil_gcc44.patch
deleted file mode 100644
index e0f86b7..0000000
--- a/boost-gil_gcc44.patch
+++ /dev/null
@@ -1,204 +0,0 @@
-Index: boost/gil/bit_aligned_pixel_reference.hpp
-===================================================================
---- boost/gil/bit_aligned_pixel_reference.hpp	(revision 53049)
-+++ boost/gil/bit_aligned_pixel_reference.hpp	(working copy)
-@@ -145,7 +145,7 @@
- 
-     // Construct from another compatible pixel type
-     bit_aligned_pixel_reference(const bit_aligned_pixel_reference& p) : _bit_range(p._bit_range) {}
--    template  bit_aligned_pixel_reference(packed_pixel& p) : _bit_range(static_cast(&at_c<0>(p)), at_c<0>(p).first_bit()) {
-+    template  bit_aligned_pixel_reference(packed_pixel& p) : _bit_range(static_cast(&gil::at_c<0>(p)), gil::at_c<0>(p).first_bit()) {
-         check_compatible >();
-     }
- 
-Index: boost/gil/color_base.hpp
-===================================================================
---- boost/gil/color_base.hpp	(revision 53049)
-+++ boost/gil/color_base.hpp	(working copy)
-@@ -155,15 +155,15 @@
-     homogeneous_color_base(Element v0, Element v1, Element v2) : _v0(v0), _v1(v1), _v2(v2) {}
- 
-     template  homogeneous_color_base(const homogeneous_color_base& c) : 
--        _v0(at_c::value>(c)), 
--        _v1(at_c::value>(c)), 
--        _v2(at_c::value>(c)) {}
-+        _v0(gil::at_c::value>(c)), 
-+        _v1(gil::at_c::value>(c)), 
-+        _v2(gil::at_c::value>(c)) {}
- 
-     // Support for l-value reference proxy copy construction
-     template  homogeneous_color_base(      homogeneous_color_base& c) : 
--        _v0(at_c::value>(c)), 
--        _v1(at_c::value>(c)), 
--        _v2(at_c::value>(c)) {}
-+        _v0(gil::at_c::value>(c)), 
-+        _v1(gil::at_c::value>(c)), 
-+        _v2(gil::at_c::value>(c)) {}
- 
-     // Support for planar_pixel_iterator construction and dereferencing
-     template  homogeneous_color_base(P* p,bool) : 
-Index: boost/gil/color_base_algorithm.hpp
-===================================================================
---- boost/gil/color_base_algorithm.hpp	(revision 53049)
-+++ boost/gil/color_base_algorithm.hpp	(working copy)
-@@ -101,7 +101,7 @@
- template  struct kth_semantic_element_reference_type {
-     BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c::type::value));
-     typedef typename kth_element_reference_type::type type;
--    static type       get(ColorBase& cb) { return at_c(cb); }
-+    static type       get(ColorBase& cb) { return gil::at_c(cb); }
- };
- 
- /// \brief Specifies the return type of the constant semantic_at_c(color_base);
-@@ -109,7 +109,7 @@
- template  struct kth_semantic_element_const_reference_type {
-     BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c::type::value));
-     typedef typename kth_element_const_reference_type::type type;
--    static type       get(const ColorBase& cb) { return at_c(cb); }
-+    static type       get(const ColorBase& cb) { return gil::at_c(cb); }
- };
- 
- /// \brief A mutable accessor to the K-th semantic element of a color base
-Index: boost/gil/image_view_factory.hpp
-===================================================================
---- boost/gil/image_view_factory.hpp	(revision 53049)
-+++ boost/gil/image_view_factory.hpp	(working copy)
-@@ -102,7 +102,7 @@
-     BOOST_STATIC_ASSERT((!is_planar::value && view_is_basic::value));
-     BOOST_STATIC_ASSERT((boost::is_pointer::value));
- 
--    return &at_c<0>(view(0,0));
-+    return &gil::at_c<0>(view(0,0));
- }
- 
- /// \ingroup ImageViewConstructors
-@@ -430,7 +430,7 @@
-             typedef typename type::xy_locator                             locator_t;
-             typedef typename type::x_iterator                            x_iterator_t;
-             typedef typename iterator_adaptor_get_base::type x_iterator_base_t;
--            x_iterator_t sit(x_iterator_base_t(&at_c(src(0,0))),src.pixels().pixel_size());
-+            x_iterator_t sit(x_iterator_base_t(&gil::at_c(src(0,0))),src.pixels().pixel_size());
-             return type(src.dimensions(),locator_t(sit, src.pixels().row_size()));
-         }
-     };
-@@ -444,7 +444,7 @@
-         typedef typename view_type::value>::type type;
-         static type make(const View& src) {
-             typedef typename type::x_iterator x_iterator_t;
--            return interleaved_view(src.width(),src.height(),(x_iterator_t)&at_c(src(0,0)), src.pixels().row_size());
-+            return interleaved_view(src.width(),src.height(),(x_iterator_t)&gil::at_c(src(0,0)), src.pixels().row_size());
-         }
-     };
- 
-@@ -494,7 +494,7 @@
-         template  kth_channel_deref_fn(const kth_channel_deref_fn&) {}
- 
-         result_type operator()(argument_type srcP) const { 
--            return result_type(at_c(srcP)); 
-+            return result_type(gil::at_c(srcP));
-         }
-     };
- 
-Index: boost/gil/packed_pixel.hpp
-===================================================================
---- boost/gil/packed_pixel.hpp	(revision 53049)
-+++ boost/gil/packed_pixel.hpp	(working copy)
-@@ -81,7 +81,7 @@
-     } 
-     packed_pixel(int chan0, int chan1, int chan2) : _bitfield(0) { 
-         BOOST_STATIC_ASSERT((num_channels::value==3)); 
--        at_c<0>(*this)=chan0; at_c<1>(*this)=chan1; at_c<2>(*this)=chan2; 
-+        gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1; gil::at_c<2>(*this)=chan2; 
-     } 
-     packed_pixel(int chan0, int chan1, int chan2, int chan3) : _bitfield(0) { 
-         BOOST_STATIC_ASSERT((num_channels::value==4)); 
-Index: boost/gil/pixel.hpp
-===================================================================
---- boost/gil/pixel.hpp	(revision 53049)
-+++ boost/gil/pixel.hpp	(working copy)
-@@ -143,11 +143,11 @@
- 
- private:
-     static void check_gray() {  BOOST_STATIC_ASSERT((is_same::value)); }
--    template  void assign(const Channel& chan, mpl::false_)       { check_gray(); at_c<0>(*this)=chan; }
--    template  bool equal (const Channel& chan, mpl::false_) const { check_gray(); return at_c<0>(*this)==chan; }
-+    template  void assign(const Channel& chan, mpl::false_)       { check_gray(); gil::at_c<0>(*this)=chan; }
-+    template  bool equal (const Channel& chan, mpl::false_) const { check_gray(); return gil::at_c<0>(*this)==chan; }
- public:
--    pixel&  operator= (channel_t chan)       { check_gray(); at_c<0>(*this)=chan; return *this; }
--    bool    operator==(channel_t chan) const { check_gray(); return at_c<0>(*this)==chan; }
-+    pixel&  operator= (channel_t chan)       { check_gray(); gil::at_c<0>(*this)=chan; return *this; }
-+    bool    operator==(channel_t chan) const { check_gray(); return gil::at_c<0>(*this)==chan; }
- };
- 
- /////////////////////////////
-Index: boost/gil/planar_pixel_iterator.hpp
-===================================================================
---- boost/gil/planar_pixel_iterator.hpp	(revision 53049)
-+++ boost/gil/planar_pixel_iterator.hpp	(working copy)
-@@ -109,8 +109,8 @@
-     reference operator->()                        const { return **this; }
- 
-     // PERFORMANCE_CHECK: Remove?
--    bool operator< (const planar_pixel_iterator& ptr)   const { return at_c<0>(*this)< at_c<0>(ptr); }
--    bool operator!=(const planar_pixel_iterator& ptr)   const { return at_c<0>(*this)!=at_c<0>(ptr); }
-+    bool operator< (const planar_pixel_iterator& ptr)   const { return gil::at_c<0>(*this)< gil::at_c<0>(ptr); }
-+    bool operator!=(const planar_pixel_iterator& ptr)   const { return gil::at_c<0>(*this)!=gil::at_c<0>(ptr); }
- private:
-     friend class boost::iterator_core_access;
- 
-@@ -119,8 +119,8 @@
-     void advance(ptrdiff_t d)   { static_transform(*this,*this,std::bind2nd(detail::plus_asymmetric(),d)); }
-     reference dereference() const { return this->template deref(); }
- 
--    ptrdiff_t distance_to(const planar_pixel_iterator& it) const { return at_c<0>(it)-at_c<0>(*this); }
--    bool equal(const planar_pixel_iterator& it) const { return at_c<0>(*this)==at_c<0>(it); }
-+    ptrdiff_t distance_to(const planar_pixel_iterator& it) const { return gil::at_c<0>(it)-gil::at_c<0>(*this); }
-+    bool equal(const planar_pixel_iterator& it) const { return gil::at_c<0>(*this)==gil::at_c<0>(it); }
- };
- 
- namespace detail {
-Index: libs/gil/test/pixel.cpp
-===================================================================
---- libs/gil/test/pixel.cpp	(revision 53049)
-+++ libs/gil/test/pixel.cpp	(working copy)
-@@ -34,8 +34,9 @@
- // Testing pixel references and values, pixel operations, color conversion
- 
- using namespace boost::gil;
--using namespace std;
-+using std::swap;
- using namespace boost;
-+
- void error_if(bool condition);
- 
- struct increment { 
-@@ -63,8 +64,8 @@
- 
-         // test homogeneous algorithms - fill, max, min
-         static const int num_chan = num_channels::value;
--        static_fill(C2::_pixel, at_c<0>(C1::_pixel)+1);
--        error_if(at_c<0>(C2::_pixel) != at_c(C2::_pixel));
-+        static_fill(C2::_pixel, gil::at_c<0>(C1::_pixel)+1);
-+        error_if(gil::at_c<0>(C2::_pixel) != gil::at_c(C2::_pixel));
- 
-         C2::_pixel = C1::_pixel;
-         error_if(static_max(C2::_pixel) != static_max(C1::_pixel));
-@@ -107,7 +108,7 @@
-         error_if(C1::_pixel!=C2::_pixel);
- 
-         static_generate(C2::_pixel, set_to_one());
--        error_if(at_c<0>(C2::_pixel) != 1);
-+        error_if(gil::at_c<0>(C2::_pixel) != 1);
- 
-         // Test swap if both are mutable and if their value type is the same
-         // (We know the second one is mutable)
-@@ -313,7 +314,7 @@
-     bgr8_pixel_t bgr8(rgb8);
-     error_if(bgr8[0] == rgb8[0]);
-     error_if(dynamic_at_c(bgr8,0) == dynamic_at_c(rgb8,0));
--    error_if(at_c<0>(bgr8) == at_c<0>(rgb8));
-+    error_if(gil::at_c<0>(bgr8) == gil::at_c<0>(rgb8));
-     error_if(semantic_at_c<0>(bgr8) != semantic_at_c<0>(rgb8));
-     error_if(get_color(bgr8,blue_t()) != get_color(rgb8,blue_t()));
- 
diff --git a/boost-graph-compile.patch b/boost-graph-compile.patch
new file mode 100644
index 0000000..4e281f3
--- /dev/null
+++ b/boost-graph-compile.patch
@@ -0,0 +1,12 @@
+*** boost/graph/distributed/detail/mpi_process_group.ipp.orig	2009-12-16 15:46:32.410223363 -0800
+--- boost/graph/distributed/detail/mpi_process_group.ipp	2009-12-16 15:47:28.700348300 -0800
+***************
+*** 19,24 ****
+--- 19,25 ----
+  #endif
+  
+  #include 
++ #include 
+  #include 
+  #include 
+  #include 
diff --git a/boost-openssl-1.0.patch b/boost-openssl-1.0.patch
deleted file mode 100644
index fd9294e..0000000
--- a/boost-openssl-1.0.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -up boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp.ossl10 boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp
---- boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp.ossl10	2008-08-09 03:59:54.000000000 +0200
-+++ boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp	2009-08-26 11:26:25.000000000 +0200
-@@ -67,7 +67,11 @@ public:
-   // Create a new context implementation.
-   void create(impl_type& impl, context_base::method m)
-   {
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+    const ::SSL_METHOD* ssl_method = 0;
-+#else
-     ::SSL_METHOD* ssl_method = 0;
-+#endif
-     switch (m)
-     {
-     case context_base::sslv2:
diff --git a/boost-python_call_operator.patch b/boost-python_call_operator.patch
deleted file mode 100644
index 1a85075..0000000
--- a/boost-python_call_operator.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-Index: /trunk/boost/python/object_core.hpp
-===================================================================
---- /trunk/boost/python/object_core.hpp (revision 45918)
-+++ /trunk/boost/python/object_core.hpp (revision 47846)
-@@ -42,4 +42,10 @@
- 
- namespace boost { namespace python { 
-+
-+namespace detail
-+{
-+  class kwds_proxy; 
-+  class args_proxy; 
-+} 
- 
- namespace converter
-@@ -103,4 +109,9 @@
- # define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_PYTHON_MAX_ARITY, ))
- # include BOOST_PP_ITERATE()
-+    
-+      detail::args_proxy operator* () const; 
-+      object operator()(detail::args_proxy const &args) const; 
-+      object operator()(detail::args_proxy const &args, 
-+                        detail::kwds_proxy const &kwds) const; 
- 
-       // truth value testing
-@@ -417,4 +428,60 @@
- //
- 
-+namespace detail 
-+{
-+
-+class call_proxy 
-+{ 
-+public: 
-+  call_proxy(object target) : m_target(target) {} 
-+  operator object() const { return m_target;} 
-+ 
-+ private: 
-+    object m_target; 
-+}; 
-+ 
-+class kwds_proxy : public call_proxy 
-+{ 
-+public: 
-+  kwds_proxy(object o = object()) : call_proxy(o) {} 
-+}; 
-+class args_proxy : public call_proxy 
-+{ 
-+public: 
-+  args_proxy(object o) : call_proxy(o) {} 
-+  kwds_proxy operator* () const { return kwds_proxy(*this);} 
-+}; 
-+} 
-+ 
-+template  
-+detail::args_proxy api::object_operators::operator* () const 
-+{ 
-+  object_cref2 x = *static_cast(this); 
-+  return detail::args_proxy(x); 
-+} 
-+ 
-+template  
-+object api::object_operators::operator()(detail::args_proxy const &args) const 
-+{ 
-+  U const& self = *static_cast(this); 
-+  PyObject *result = PyObject_Call(get_managed_object(self, tag), 
-+                                   args.operator object().ptr(), 
-+                                   0); 
-+  return object(detail::new_reference(result)); 
-+ 
-+} 
-+ 
-+template  
-+object api::object_operators::operator()(detail::args_proxy const &args, 
-+                                            detail::kwds_proxy const &kwds) const 
-+{ 
-+  U const& self = *static_cast(this); 
-+  PyObject *result = PyObject_Call(get_managed_object(self, tag), 
-+                                   args.operator object().ptr(), 
-+                                   kwds.operator object().ptr()); 
-+  return object(detail::new_reference(result)); 
-+ 
-+}  
-+
- inline object::object()
-     : object_base(python::incref(Py_None))
-Index: /trunk/libs/python/test/object.cpp
-===================================================================
---- /trunk/libs/python/test/object.cpp (revision 45918)
-+++ /trunk/libs/python/test/object.cpp (revision 47846)
-@@ -187,4 +187,9 @@
-     return s.slice(2,-1).slice(1,-1)  == "lo, wor";
- }
-+
-+object test_call(object c, object args, object kwds) 
-+{ 
-+    return c(*args, **kwds); 
-+} 
- 
- bool check_binary_operators()
-@@ -378,4 +383,5 @@
-     def("test_not_item", test_not_item);
- 
-+    def("test_call", test_call);
-     def("check_binary_operators", check_binary_operators);
-     def("check_inplace", check_inplace);
-Index: /trunk/libs/python/test/object.py
-===================================================================
---- /trunk/libs/python/test/object.py (revision 45918)
-+++ /trunk/libs/python/test/object.py (revision 47846)
-@@ -135,5 +135,10 @@
-         Operators
- 
--        
-+>>> def print_args(*args, **kwds): 
-+...     print args, kwds 
-+>>> test_call(print_args, (0, 1, 2, 3), {'a':'A'}) 
-+(0, 1, 2, 3) {'a': 'A'}
-+
-+
- >>> assert check_binary_operators()
- 
-Index: /trunk/libs/python/doc/v2/object.html
-===================================================================
---- /trunk/libs/python/doc/v2/object.html (revision 45918)
-+++ /trunk/libs/python/doc/v2/object.html (revision 47846)
-@@ -656,4 +656,9 @@
-       object operator()(A0 const&, A1 const&,...An const&) const;
- 
-+      detail::args_proxy operator* () const; 
-+      object operator()(detail::args_proxy const &args) const; 
-+      object operator()(detail::args_proxy const &args, 
-+                        detail::kwds_proxy const &kwds) const; 
-+
-       // truth value testing
-       //
-@@ -705,4 +710,23 @@
-       a2,...aN)
-     
-+
-+
-+object operator()(detail::args_proxy const &args) const; 
-+
-+
-+
Effects: -+ call object with arguments given by the tuple args
-+
-+
-+object operator()(detail::args_proxy const &args, 
-+                  detail::kwds_proxy const &kwds) const; 
-+
-+
-+
Effects: -+ call object with arguments given by the tuple args, and named -+ arguments given by the dictionary kwds
-+
-+ -+ -
- operator bool_type() const;
diff --git a/boost-python_enums.patch b/boost-python_enums.patch
deleted file mode 100644
index 639be12..0000000
--- a/boost-python_enums.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-Index: /trunk/libs/python/test/enum.py
-===================================================================
---- /trunk/libs/python/test/enum.py (revision 36256)
-+++ /trunk/libs/python/test/enum.py (revision 53660)
-@@ -5,6 +5,6 @@
- >>> from enum_ext import *
- 
-->>> identity(color.red)
--enum_ext.color.red
-+>>> identity(color.red) # in case of duplicated enums it always take the last enum
-+enum_ext.color.blood
- 
- >>> identity(color.green)
-@@ -14,6 +14,6 @@
- enum_ext.color.blue
- 
-->>> identity(color(1))
--enum_ext.color.red
-+>>> identity(color(1)) # in case of duplicated enums it always take the last enum
-+enum_ext.color.blood
- 
- >>> identity(color(2))
-@@ -29,5 +29,5 @@
- 
- >>> identity(red)
--enum_ext.color.red
-+enum_ext.color.blood
- 
- >>> identity(green)
-@@ -43,8 +43,16 @@
- >>> c = colorized()
- >>> c.x
--enum_ext.color.red
-+enum_ext.color.blood
- >>> c.x = green
- >>> c.x
- enum_ext.color.green
-+>>> red == blood
-+True
-+>>> red == green
-+False
-+>>> hash(red) == hash(blood)
-+True
-+>>> hash(red) == hash(green)
-+False
- '''
- 
-Index: /trunk/libs/python/test/enum.cpp
-===================================================================
---- /trunk/libs/python/test/enum.cpp (revision 24614)
-+++ /trunk/libs/python/test/enum.cpp (revision 53660)
-@@ -13,5 +13,5 @@
- using namespace boost::python;
- 
--enum color { red = 1, green = 2, blue = 4 };
-+enum color { red = 1, green = 2, blue = 4, blood = 1 };
- 
- #if BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
-@@ -35,4 +35,5 @@
-         .value("green", green)
-         .value("blue", blue)
-+        .value("blood", blood)
-         .export_values()
-         ;
-Index: /trunk/libs/python/src/object/enum.cpp
-===================================================================
---- /trunk/libs/python/src/object/enum.cpp (revision 41521)
-+++ /trunk/libs/python/src/object/enum.cpp (revision 53660)
-@@ -15,5 +15,5 @@
- #include 
- 
--namespace boost { namespace python { namespace objects { 
-+namespace boost { namespace python { namespace objects {
- 
- struct enum_object
-@@ -44,5 +44,5 @@
-             if (name == 0)
-                 return 0;
--            
-+
-             return PyString_FromFormat("%s.%s.%s", mod, self_->ob_type->tp_name, name);
-         }
-@@ -140,4 +140,5 @@
-       d["__slots__"] = tuple();
-       d["values"] = dict();
-+      d["names"] = dict();
- 
-       object module_name = module_prefix();
-@@ -146,7 +147,7 @@
-       if (doc)
-          d["__doc__"] = doc;
--      
-+
-       object result = (object(metatype))(name, make_tuple(base), d);
--      
-+
-       scope().attr(name) = result;
- 
-@@ -168,5 +169,5 @@
-         = const_cast(
-             converter::registry::lookup(id));
--            
-+
-     converters.m_class_object = downcast(this->ptr());
-     converter::registry::insert(to_python, id);
-@@ -187,21 +188,22 @@
-     dict d = extract(this->attr("values"))();
-     d[value] = x;
--    
-+
-     // Set the name field in the new enum instanec
-     enum_object* p = downcast(x.ptr());
-     Py_XDECREF(p->name);
-     p->name = incref(name.ptr());
-+
-+    dict names_dict = extract(this->attr("names"))();
-+    names_dict[x.attr("name")] = x;
- }
- 
- void enum_base::export_values()
- {
--    dict d = extract(this->attr("values"))();
--    list values = d.values();
-+    dict d = extract(this->attr("names"))();
-+    list items = d.items();
-     scope current;
--    
--    for (unsigned i = 0, max = len(values); i < max; ++i)
--    {
--        api::setattr(current, object(values[i].attr("name")), values[i]);
--    }
-+
-+    for (unsigned i = 0, max = len(items); i < max; ++i)
-+        api::setattr(current, items[i][0], items[i][1]);
-  }
- 
diff --git a/boost-python_translate_exception.patch b/boost-python_translate_exception.patch
deleted file mode 100644
index e1f6ab0..0000000
--- a/boost-python_translate_exception.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up /home/petr/fedora/boost/F-12/boost_1_39_0/boost/python/detail/translate_exception.hpp\~ /home/petr/fedora/boost/F-12/boost_1_39_0/boost/python/detail/translate_exception.hpp
---- boost_1_39_0/boost/python/detail/translate_exception.hpp~	2004-08-20 13:10:24.000000000 +0200
-+++ boost_1_39_0/boost/python/detail/translate_exception.hpp	2009-11-16 23:30:23.000000000 +0100
-@@ -9,6 +9,7 @@
- 
- # include 
- # include 
-+# include 
- 
- # include 
- 
-
-Diff finished.  Mon Nov 16 23:30:41 2009
diff --git a/boost-python_uint.patch b/boost-python_uint.patch
deleted file mode 100644
index b27be95..0000000
--- a/boost-python_uint.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-Index: /trunk/libs/python/test/test_builtin_converters.py
-===================================================================
---- /trunk/libs/python/test/test_builtin_converters.py (revision 40714)
-+++ /trunk/libs/python/test/test_builtin_converters.py (revision 54919)
-@@ -4,4 +4,22 @@
- r"""
- >>> from builtin_converters_ext import *
-+
-+# Use ctypes to get native C type sizes
-+>>> from ctypes import sizeof, c_char, c_short, c_int, c_long, c_longlong
-+>>> def test_values_signed(t):
-+...     base = 2 ** (8 * sizeof(t) - 1)
-+...     return [[-base, -1, 1, base - 1], [-base - 1, base]]
-+>>> def test_values_unsigned(t):
-+...     base = 2 ** (8 * sizeof(t))
-+...     return [[1, base - 1], [-1L, -1, base]]
-+>>> def should_pass(method, values):
-+...     result = map(method, values)
-+...     if result != values:
-+...         print "Got %s but expected %s" % (result, values)
-+>>> def test_overflow(method, values):
-+...     for v in values:
-+...         try: method(v)
-+...         except OverflowError: pass
-+...         else: print "OverflowError expected"
- 
- # Synthesize idendity functions in case long long not supported
-@@ -63,13 +81,35 @@
- 
-    show that we have range checking. 
-- 
-->>> try: rewrap_value_unsigned_short(-42)
--... except OverflowError: pass
--... else: print 'expected an OverflowError!'
--
-->>> try: rewrap_value_int(sys.maxint * 2)
--... except OverflowError: pass
--... else: print 'expected an OverflowError!'
--
-+
-+>>> should_pass(rewrap_value_signed_char, test_values_signed(c_char)[0])
-+>>> should_pass(rewrap_value_short, test_values_signed(c_short)[0])
-+>>> should_pass(rewrap_value_int, test_values_signed(c_int)[0])
-+>>> should_pass(rewrap_value_long, test_values_signed(c_long)[0])
-+>>> should_pass(rewrap_value_long_long, test_values_signed(c_longlong)[0])
-+
-+>>> should_pass(rewrap_value_unsigned_char, test_values_unsigned(c_char)[0])
-+>>> should_pass(rewrap_value_unsigned_short, test_values_unsigned(c_short)[0])
-+>>> should_pass(rewrap_value_unsigned_int, test_values_unsigned(c_int)[0])
-+>>> should_pass(rewrap_value_unsigned_long, test_values_unsigned(c_long)[0])
-+>>> should_pass(rewrap_value_unsigned_long_long,
-+...     test_values_unsigned(c_longlong)[0])
-+
-+>>> test_overflow(rewrap_value_signed_char, test_values_signed(c_char)[1])
-+>>> test_overflow(rewrap_value_short, test_values_signed(c_short)[1])
-+>>> test_overflow(rewrap_value_int, test_values_signed(c_int)[1])
-+>>> test_overflow(rewrap_value_long, test_values_signed(c_long)[1])
-+>>> test_overflow(rewrap_value_long_long, test_values_signed(c_longlong)[1])
-+
-+>>> test_overflow(rewrap_value_unsigned_char, test_values_unsigned(c_char)[1])
-+>>> test_overflow(rewrap_value_unsigned_short, test_values_unsigned(c_short)[1])
-+>>> test_overflow(rewrap_value_unsigned_int, test_values_unsigned(c_int)[1])
-+>>> test_overflow(rewrap_value_unsigned_long, test_values_unsigned(c_long)[1])
-+
-+# Exceptionally for PyLong_AsUnsignedLongLong(), a negative value raises
-+# TypeError on Python versions prior to 2.7
-+>>> for v in test_values_unsigned(c_longlong)[1]:
-+...     try: rewrap_value_unsigned_long_long(v)
-+...     except (OverflowError, TypeError): pass
-+...     else: print "OverflowError or TypeError expected"
- 
- >>> assert abs(rewrap_value_float(4.2) - 4.2) < .000001
-Index: /trunk/libs/python/src/converter/builtin_converters.cpp
-===================================================================
---- /trunk/libs/python/src/converter/builtin_converters.cpp (revision 52299)
-+++ /trunk/libs/python/src/converter/builtin_converters.cpp (revision 54919)
-@@ -156,8 +156,25 @@
-       static T extract(PyObject* intermediate)
-       {
--          return numeric_cast(
--              PyLong_Check(intermediate)
--              ? PyLong_AsUnsignedLong(intermediate)
--              : PyInt_AS_LONG(intermediate));
-+          if (PyLong_Check(intermediate)) {
-+              // PyLong_AsUnsignedLong() checks for negative overflow, so no
-+              // need to check it here.
-+              unsigned long result = PyLong_AsUnsignedLong(intermediate);
-+              if (PyErr_Occurred())
-+                  throw_error_already_set();
-+              return numeric_cast(result);
-+          } else {
-+              // None of PyInt_AsUnsigned*() functions check for negative
-+              // overflow, so use PyInt_AS_LONG instead and check if number is
-+              // negative, issuing the exception appropriately.
-+              long result = PyInt_AS_LONG(intermediate);
-+              if (PyErr_Occurred())
-+                  throw_error_already_set();
-+              if (result < 0) {
-+                  PyErr_SetString(PyExc_OverflowError, "can't convert negative"
-+                                  " value to unsigned");
-+                  throw_error_already_set();
-+              }
-+              return numeric_cast(result);
-+          }
-       }
-   };
diff --git a/boost-run-tests.patch b/boost-run-tests.patch
deleted file mode 100644
index adcc5f2..0000000
--- a/boost-run-tests.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-*** tools/regression/src/run_tests.sh.orig	2007-07-31 19:44:25.000000000 -0500
---- tools/regression/src/run_tests.sh	2007-08-01 12:17:25.000000000 -0500
-***************
-*** 15,21 ****
-  # This can be either a non-exitent directory or an already complete Boost
-  # source tree.
-  #
-! boost_root="$HOME/CVSROOTs/Boost/boost_regression"
-  
-  #
-  # Wether to fetch the most current Boost code from CVS (yes/no):
---- 15,21 ----
-  # This can be either a non-exitent directory or an already complete Boost
-  # source tree.
-  #
-! boost_root="/usr/src/redhat/BUILD/boost_1_34_1"
-  
-  #
-  # Wether to fetch the most current Boost code from CVS (yes/no):
-*************** test_tools=gcc
-*** 42,58 ****
-  toolset=gcc
-  
-  #
-- # "comment_path" is the path to an html-file describing the test environment.
-- # The content of this file will be embedded in the status pages being produced.
-- #
-- comment_path="$boost_root/../regression_comment.html"
-- #
-  # "test_dir" is the relative path to the directory to run the tests in,
-  # defaults to "status" and runs all the tests, but could be a sub-directory
-  # for example "libs/regex/test" to run the regex tests alone.
-  #
-  test_dir="status"
-  
-  
-  ### DEFAULTS ARE OK FOR THESE.
-  
---- 42,59 ----
-  toolset=gcc
-  
-  #
-  # "test_dir" is the relative path to the directory to run the tests in,
-  # defaults to "status" and runs all the tests, but could be a sub-directory
-  # for example "libs/regex/test" to run the regex tests alone.
-  #
-  test_dir="status"
-  
-+ #
-+ # "comment_path" is the path to an html-file describing the test environment.
-+ # The content of this file will be embedded in the status pages being produced.
-+ #
-+ comment_path="$boost_root/$test_dir/regression_comment.html"
-+ 
-  
-  ### DEFAULTS ARE OK FOR THESE.
-  
-*************** exe_suffix=
-*** 71,76 ****
---- 72,80 ----
-  #
-  bjam="$boost_root/tools/jam/src/bin/bjam$exe_suffix"
-  
-+ # bjam options
-+ bjam_flags="--layout=system variant=release -sICU_PATH=/usr --user-config=$boost_root/user-config.jam"
-+ 
-  #
-  # "process_jam_log", and "compiler_status" paths to built helper programs:
-  # The location of the executables of the regression help programs. These
-*************** else
-*** 98,103 ****
---- 102,115 ----
-  fi
-  export BOOST_BUILD_PATH
-  
-+ # For shared objects.
-+ old_ld_library_path=$LD_LIBRARY_PATH
-+ old_ld_run_path=$LD_RUN_PATH
-+ LD_LIBRARY_PATH="$boost_root/stage/lib:$old_ld_library_path"
-+ LD_RUN_PATH="$boost_root/stage/lib:$old_ld_run_path"
-+ export LD_LIBRARY_PATH
-+ export LD_RUN_PATH
-+ 
-  #
-  # STEP 0:
-  #
-*************** fi
-*** 126,137 ****
-  # STEP 1:
-  # rebuild bjam if required:
-  #
-! echo building bjam:
-! cd "$boost_root/tools/jam/src" && \
-! LOCATE_TARGET=bin sh ./build.sh
-! if test $? != 0 ; then
-!     echo "bjam build failed."
-!     exit 256
-  fi
-  
-  #
---- 138,152 ----
-  # STEP 1:
-  # rebuild bjam if required:
-  #
-! echo "finding or building bjam":
-! if test ! -f "$bjam" ; then
-!   echo "building bjam":
-!     cd "$boost_root/tools/jam/src" && \
-!     LOCATE_TARGET=bin sh ./build.sh
-!     if test $? != 0 ; then
-!       echo "bjam build failed."
-!       exit 256
-!     fi
-  fi
-  
-  #
-*************** fi
-*** 139,146 ****
-  # rebuild the regression test helper programs if required:
-  #
-  echo building regression test helper programs:
-! cd "$boost_root/tools/regression/build" && \
-! "$bjam" $toolset release
-  if test $? != 0 ; then
-      echo "helper program build failed."
-      exit 256
---- 154,160 ----
-  # rebuild the regression test helper programs if required:
-  #
-  echo building regression test helper programs:
-! cd "$boost_root/tools/regression/build" && "$bjam" $bjam_flags $toolset
-  if test $? != 0 ; then
-      echo "helper program build failed."
-      exit 256
-*************** for tool in $test_tools ; do
-*** 158,164 ****
-  #
-  echo running the $tool regression tests:
-  cd "$boost_root/$test_dir"
-! "$bjam" $tool --dump-tests 2>&1 | tee regress.log
-  
-  #
-  # STEP 4:
---- 172,180 ----
-  #
-  echo running the $tool regression tests:
-  cd "$boost_root/$test_dir"
-! echo "

begin time: " `date` "

" >> "$comment_path" -! "$bjam" $bjam_flags $tool --dump-tests 2>&1 | tee regress.log -! echo "

end time: " `date` "

" >> "$comment_path" - - # - # STEP 4: -*************** if test $? != 0 ; then -*** 185,190 **** ---- 201,212 ---- - exit 256 - fi - -+ # cleanup -+ LD_LIBRARY_PATH="$old_ld_library_path" -+ LD_RUN_PATH="$old_ld_run_path" -+ export LD_LIBRARY_PATH -+ export LD_RUN_PATH -+ - echo "done!" - - diff --git a/boost-soname.patch b/boost-soname.patch deleted file mode 100644 index 52a2e33..0000000 --- a/boost-soname.patch +++ /dev/null @@ -1,37 +0,0 @@ -*** tools/build/v2/tools/gcc.jam.orig 2009-05-05 12:45:31.000000000 -0700 ---- tools/build/v2/tools/gcc.jam 2009-05-05 12:48:23.000000000 -0700 -*************** if [ os.name ] != NT && [ os.name ] != O -*** 355,361 **** - # OSF does have an option called -soname but it does not seem to work as - # expected, therefore it has been disabled. - HAVE_SONAME = "" ; -! SONAME_OPTION = -h ; - } - - ---- 355,362 ---- - # OSF does have an option called -soname but it does not seem to work as - # expected, therefore it has been disabled. - HAVE_SONAME = "" ; -! SONAME_OPTION = -soname ; -! SONAME_VERSION = _FEDORA_SONAME ; - } - - -*************** rule link.dll ( targets * : sources * : -*** 793,799 **** - # Differs from 'link' above only by -shared. - actions link.dll bind LIBRARIES - { -! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) - } - - rule setup-threading ( targets * : sources * : properties * ) ---- 794,800 ---- - # Differs from 'link' above only by -shared. - actions link.dll bind LIBRARIES - { -! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS) - } - - rule setup-threading ( targets * : sources * : properties * ) diff --git a/boost-unneccessary_iostreams.patch b/boost-unneccessary_iostreams.patch deleted file mode 100644 index 5c78a2c..0000000 --- a/boost-unneccessary_iostreams.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ru boost/spirit/home/classic/iterator/multi_pass.hpp boost/spirit/home/classic/iterator/multi_pass.hpp ---- boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:38:36.000000000 +0000 -+++ boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:39:41.000000000 +0000 -@@ -12,7 +12,6 @@ - #include - #include - #include --#include - #include // for std::swap - #include // for std::exception - #include diff --git a/boost-use-rpm-optflags.patch b/boost-use-rpm-optflags.patch deleted file mode 100644 index 8a9ab94..0000000 --- a/boost-use-rpm-optflags.patch +++ /dev/null @@ -1,19 +0,0 @@ -*** tools/build/v2/tools/gcc.jam.orig 2008-11-17 16:26:39.000000000 -0800 ---- tools/build/v2/tools/gcc.jam 2008-11-17 16:31:08.000000000 -0800 -*************** toolset.flags gcc.compile PCH_FILE -*** 292,298 **** - - # Declare flags and action for compilation. - toolset.flags gcc.compile OPTIONS off : -O0 ; -! toolset.flags gcc.compile OPTIONS speed : -O3 ; - toolset.flags gcc.compile OPTIONS space : -Os ; - - toolset.flags gcc.compile OPTIONS off : -fno-inline ; ---- 292,298 ---- - - # Declare flags and action for compilation. - toolset.flags gcc.compile OPTIONS off : -O0 ; -! toolset.flags gcc.compile OPTIONS speed : "_FEDORA_OPT_FLAGS" ; - toolset.flags gcc.compile OPTIONS space : -Os ; - - toolset.flags gcc.compile OPTIONS off : -fno-inline ; diff --git a/boost-version-override.patch b/boost-version-override.patch deleted file mode 100644 index 83453d5..0000000 --- a/boost-version-override.patch +++ /dev/null @@ -1,36 +0,0 @@ -*** Jamroot.orig 2009-05-06 12:46:31.000000000 -0700 ---- Jamroot 2009-05-06 18:18:17.000000000 -0700 -*************** rule tag ( name : type ? : property-set -*** 344,350 **** - else - { - local result = [ common.format-name -! - -$(BUILD_ID) - : $(name) : $(type) : $(property-set) ] ; - ---- 344,350 ---- - else - { - local result = [ common.format-name -! - -$(BUILD_ID) - : $(name) : $(type) : $(property-set) ] ; - -*************** rule tag ( name : type ? : property-set -*** 356,362 **** - # suffixes either. Pgi compilers can not accept library with version - # suffix. - if $(type) = SHARED_LIB && -! ( ! ( [ $(property-set).get ] in windows cygwin darwin aix ) && - ! ( [ $(property-set).get ] in pgi ) ) - { - result = $(result).$(BOOST_VERSION) ; ---- 356,362 ---- - # suffixes either. Pgi compilers can not accept library with version - # suffix. - if $(type) = SHARED_LIB && -! ( ! ( [ $(property-set).get ] in windows cygwin darwin aix linux ) && - ! ( [ $(property-set).get ] in pgi ) ) - { - result = $(result).$(BOOST_VERSION) ; diff --git a/boost.spec b/boost.spec index e150dab..9d5ccf8 100644 --- a/boost.spec +++ b/boost.spec @@ -1,37 +1,43 @@ +# Support for documentation installation +# As the %%doc macro erases the target directory, namely +# $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}, manually installed +# documentation must be saved into a temporary dedicated directory. +%define boost_docdir __tmp_docdir + +# Support for long double %define disable_long_double 0 %ifarch %{arm} -%define disable_long_double 1 + %define disable_long_double 1 %endif Name: boost -Summary: The Boost C++ Libraries -Version: 1.39.0 -Release: 11%{?dist} +Summary: The free peer-reviewed portable C++ source libraries +Version: 1.41.0 +Release: 2%{?dist} License: Boost -URL: http://www.boost.org/ +URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries -Source: http://downloads.sourceforge.net/project/boost/boost/1.39.0/boost_1_39_0.tar.bz2 -Obsoletes: boost-doc <= 1.30.2 -Obsoletes: boost-python <= 1.30.2 -Provides: boost-doc = %{version}-%{release} +%define full_version %{name}-%{version}.cmake0 +Source: %{full_version}.tar.bz2 # boost is an "umbrella" package that pulls in all other boost components Requires: boost-date-time = %{version}-%{release} Requires: boost-filesystem = %{version}-%{release} Requires: boost-graph = %{version}-%{release} Requires: boost-iostreams = %{version}-%{release} -Requires: boost-math = %{version}-%{release} -Requires: boost-test = %{version}-%{release} +Requires: boost-mpi = %{version}-%{release} Requires: boost-program-options = %{version}-%{release} Requires: boost-python = %{version}-%{release} Requires: boost-regex = %{version}-%{release} Requires: boost-serialization = %{version}-%{release} Requires: boost-signals = %{version}-%{release} Requires: boost-system = %{version}-%{release} +Requires: boost-test = %{version}-%{release} Requires: boost-thread = %{version}-%{release} Requires: boost-wave = %{version}-%{release} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: cmake BuildRequires: libstdc++-devel BuildRequires: bzip2-libs BuildRequires: bzip2-devel @@ -39,33 +45,13 @@ BuildRequires: zlib-devel BuildRequires: python-devel BuildRequires: libicu-devel BuildRequires: chrpath +BuildRequires: mpich2-devel -# Fedora-centric patch. -Patch0: boost-version-override.patch -Patch1: boost-use-rpm-optflags.patch -Patch2: boost-run-tests.patch -Patch3: boost-soname.patch - -# Upstream status unknown. -Patch4: boost-unneccessary_iostreams.patch -Patch5: boost-bitset.patch -Patch6: boost-function_template.patch -Patch7: boost-fs_gcc44.patch -Patch8: boost-openssl-1.0.patch - -# These patches are taken from post-1.39.0 SVN (i.e. are all upstream -# and will likely go away when we rebase). -Patch9: boost-gil_gcc44.patch -Patch10: boost-python_call_operator.patch -Patch11: boost-python_enums.patch -Patch12: boost-python_uint.patch - -# Not upstream -Patch13: boost-python_translate_exception.patch +Patch0: boost-graph-compile.patch +Patch1: boost-cmake-soname.patch %bcond_with tests %bcond_with docs_generated -%define sonamever 5 %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -115,21 +101,24 @@ Runtime support for Boost.IOStreams, a framework for defining streams, stream buffers and i/o filters. %package math -Summary: Runtime component of boost math library +Summary: Stub that used to contain boost math library Group: System Environment/Libraries %description math -Runtime support Boost.Math, a library of math and numeric tools. +This package is a stub that used to contain runtime component of boost +math library. Now that boost math library is header-only, this +package is empty. It's kept around only so that during yum-assisted +update, old libraries from boost-math package aren't left around. -%package test -Summary: Runtime component of boost test library +%package mpi +Summary: Runtime component of boost mpi library Group: System Environment/Libraries -%description test +%description mpi -Runtime support for simple program testing, full unit testing, and for -program execution monitoring. +Runtime support for Boost MPI, library providing a clean C++ API over +the OpenMPI implementation of MPI. %package program-options Summary: Runtime component of boost program_options library @@ -187,15 +176,14 @@ Runtime component of Boost operating system support library, including the diagnostics support that will be part of the C++0x standard library. -%package wave -Summary: Runtime component of boost C99/C++ preprocessing library +%package test +Summary: Runtime component of boost test library Group: System Environment/Libraries -%description wave +%description test -Runtime support for the Boost.Wave library, a Standards conformant, -and highly configurable implementation of the mandated C99/C++ -preprocessor functionality. +Runtime support for simple program testing, full unit testing, and for +program execution monitoring. %package thread Summary: Runtime component of boost thread library @@ -208,6 +196,16 @@ functions for managing multiple threads of execution, and for synchronizing data between the threads or providing separate copies of data specific to individual threads. +%package wave +Summary: Runtime component of boost C99/C++ preprocessing library +Group: System Environment/Libraries + +%description wave + +Runtime support for the Boost.Wave library, a Standards conformant, +and highly configurable implementation of the mandated C99/C++ +preprocessor functionality. + %package devel Summary: The Boost C++ headers and shared development libraries Group: Development/Libraries @@ -228,243 +226,286 @@ Provides: boost-devel-static = %{version}-%{release} Static Boost C++ libraries. %package doc -Summary: The Boost C++ html docs +Summary: HTML documentation for the Boost C++ libraries Group: Documentation +%if 0%{?fedora} >= 10 +BuildArch: noarch +%endif Provides: boost-python-docs = %{version}-%{release} %description doc -HTML documentation files for Boost C++ libraries. +This package contains the documentation in the HTML format of the Boost C++ +libraries. The documentation provides the same content as that on the Boost +web page (http://www.boost.org/doc/libs/1_40_0). %prep -%setup -q -n %{name}_1_39_0 +%setup -q -n %{full_version} %patch0 -p0 -sed 's/_FEDORA_OPT_FLAGS/%{optflags}/' %{PATCH1} | %{__patch} -p0 --fuzz=0 -%patch2 -p0 -sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH3} | %{__patch} -p0 --fuzz=0 -%patch4 -p0 -%patch5 -p0 -%patch6 -p0 -%patch7 -p0 -%patch8 -p1 -%patch9 -p0 -%patch10 -p2 -%patch11 -p2 -%patch12 -p2 -%patch13 -p1 +#%patch1 -p0 %build -BOOST_ROOT=`pwd` -export BOOST_ROOT +%{__mkdir_p} build +cd build -# build make tools, ie bjam, necessary for building libs, docs, and testing -(cd tools/jam/src && ./build.sh) -BJAM=`find tools/jam/src/ -name bjam -a -type f` - -CONFIGURE_FLAGS="--with-toolset=gcc" -PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') -PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION" -REGEX_FLAGS="--with-icu" -./bootstrap.sh $CONFIGURE_FLAGS $PYTHON_FLAGS $REGEX_FLAGS - -BUILD_VARIANTS="variant=release threading=single,multi debug-symbols=on" -BUILD_FLAGS="-d2 --layout=system $BUILD_VARIANTS" -%if %{disable_long_double} -LONG_DOUBLE_FLAGS="--disable-long-double" +# Support for building tests. +%define boost_testflags -DBUILD_TESTS="NONE" +%if %{with tests} + %define boost_testflags -DBUILD_TESTS="ALL" %endif -$BJAM $BUILD_FLAGS $LONG_DOUBLE_FLAGS %{?_smp_mflags} stage -# build docs, requires a network connection for docbook XSLT stylesheets -%if %{with docs_generated} -cd ./doc -chmod +x ../tools/boostbook/setup_boostbook.sh -../tools/boostbook/setup_boostbook.sh -USER_CFG=$BOOST_ROOT/tools/build/v2/user-config.jam -$BOOST_ROOT/$BJAM --v2 -sICU_PATH=/usr --user-config=$USER_CFG html -cd .. -%endif +%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \ + -DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF .. +make VERBOSE=1 %{?_smp_mflags} +cd %{_builddir}/%{full_version} %check %if %{with tests} -echo "

" `uname -a` "

" > status/regression_comment.html -echo "" >> status/regression_comment.html -echo "

" `g++ --version` "

" >> status/regression_comment.html -echo "" >> status/regression_comment.html +cd build -cd tools/regression/build -#$BOOST_ROOT/$BJAM -cd ../test -#python ./test.py -cd ../../.. - -results1=status/cs-`uname`.html -results2=status/cs-`uname`-links.html -email=benjamin.kosnik@gmail.com -if [ -f $results1 ] && [ -f $results2 ]; then - echo "sending results starting" +# Standard test with CMake, depends on installed boost-test. +ctest --verbose --output-log testing.log +if [ -f testing.log ]; then + echo "" >> testing.log + echo `date` >> testing.log + echo "" >> testing.log + echo `uname -a` >> testing.log + echo "" >> testing.log + echo `g++ --version` >> testing.log + echo "" >> testing.log testdate=`date +%Y%m%d` testarch=`uname -m` - results=boost-results-$testdate-$testarch.tar.bz2 - tar -cvf boost-results-$testdate-$testarch.tar $results1 $results2 - bzip2 -f boost-results-$testdate-$testarch.tar - echo | mutt -s "$testdate boost regression $testarch" -a $results $email + email=benjamin.kosnik@gmail.com + bzip2 -f testing.log + echo "sending results starting" + echo | mutt -s "$testdate boost test $testarch" -a testing.log.bz2 $email echo "sending results finished" else - echo "error sending results" + echo "error with results" fi +cd %{_builddir}/%{full_version} %endif %install -rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT%{_libdir} -mkdir -p $RPM_BUILD_ROOT%{_includedir} -mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} +%{__rm} -rf $RPM_BUILD_ROOT -# install lib -for i in `find stage -type f -name \*.a`; do - NAME=`basename $i`; - install -p -m 0644 $i $RPM_BUILD_ROOT%{_libdir}/$NAME; -done; -for i in `find stage -type f -name \*.so`; do - NAME=$i; - SONAME=$i.%{sonamever}; - VNAME=$i.%{version}; - base=`basename $i`; - NAMEbase=$base; - SONAMEbase=$base.%{sonamever}; - VNAMEbase=$base.%{version}; - mv $i $VNAME; +cd %{_builddir}/%{full_version}/build +DESTDIR=$RPM_BUILD_ROOT make VERBOSE=1 install - # remove rpath - chrpath --delete $VNAME; +# Suppress the wrongly generated mpi.so library +# (it is temporary until upstream Boost-CMake fixes that) +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/mpi.so - ln -s $VNAMEbase $SONAME; - ln -s $VNAMEbase $NAME; - install -p -m 755 $VNAME $RPM_BUILD_ROOT%{_libdir}/$VNAMEbase; +# Kill any debug library versions that may show up un-invited. +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/*-d.* - mv $SONAME $RPM_BUILD_ROOT%{_libdir}/$SONAMEbase; - mv $NAME $RPM_BUILD_ROOT%{_libdir}/$NAMEbase; -done; +# Prepare the place to temporary store the generated documentation +%{__rm} -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html -# install include files -find %{name} -type d | while read a; do - mkdir -p $RPM_BUILD_ROOT%{_includedir}/$a - find $a -mindepth 1 -maxdepth 1 -type f \ - | xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_includedir}/$a -done - -# install doc files -DOCPATH=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/ +# Install documentation files (HTML pages) within the temporary place +cd %{_builddir}/%{full_version} +DOCPATH=%{boost_docdir} find libs doc more -type f \( -name \*.htm -o -name \*.html \) \ | sed -n '/\//{s,/[^/]*$,,;p}' \ | sort -u > tmp-doc-directories -sed "s:^:$DOCPATH:" tmp-doc-directories | xargs -r mkdir -p -cat tmp-doc-directories | while read a; do - find $a -mindepth 1 -maxdepth 1 -name \*.htm\* \ - | xargs install -m 644 -p -t $DOCPATH$a +sed "s:^:$DOCPATH/:" tmp-doc-directories \ + | xargs --no-run-if-empty %{__install} -d +cat tmp-doc-directories | while read tobeinstalleddocdir; do + find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -name \*.htm\* \ + | xargs %{__install} -p -m 644 -t $DOCPATH/$tobeinstalleddocdir done -rm tmp-doc-directories -install -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html +%{__rm} -f tmp-doc-directories +%{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html -# remove scripts used to generate include files -find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \; +# Remove scripts used to generate include files +find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{__rm} -f {} \; + +# Remove cmake configuration files used to build the Boost libraries +find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %clean -rm -rf $RPM_BUILD_ROOT +%{__rm} -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig +%post date-time -p /sbin/ldconfig + +%postun date-time -p /sbin/ldconfig + +%post filesystem -p /sbin/ldconfig + +%postun filesystem -p /sbin/ldconfig + +%post graph -p /sbin/ldconfig + +%postun graph -p /sbin/ldconfig + +%post iostreams -p /sbin/ldconfig + +%postun iostreams -p /sbin/ldconfig + +%post mpi -p /sbin/ldconfig + +%postun mpi -p /sbin/ldconfig + +%post program-options -p /sbin/ldconfig + +%postun program-options -p /sbin/ldconfig + +%post python -p /sbin/ldconfig + +%postun python -p /sbin/ldconfig + +%post regex -p /sbin/ldconfig + +%postun regex -p /sbin/ldconfig + +%post serialization -p /sbin/ldconfig + +%postun serialization -p /sbin/ldconfig + +%post signals -p /sbin/ldconfig + +%postun signals -p /sbin/ldconfig + +%post system -p /sbin/ldconfig + +%postun system -p /sbin/ldconfig + +%post test -p /sbin/ldconfig + +%postun test -p /sbin/ldconfig + +%post thread -p /sbin/ldconfig + +%postun thread -p /sbin/ldconfig + +%post wave -p /sbin/ldconfig + +%postun wave -p /sbin/ldconfig -%postun -p /sbin/ldconfig %files %files date-time %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_date_time*.so.%{version} -%{_libdir}/libboost_date_time*.so.%{sonamever} %files filesystem %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_filesystem*.so.%{version} -%{_libdir}/libboost_filesystem*.so.%{sonamever} %files graph %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_graph*.so.%{version} -%{_libdir}/libboost_graph*.so.%{sonamever} %files iostreams %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_iostreams*.so.%{version} -%{_libdir}/libboost_iostreams*.so.%{sonamever} %files math -%defattr(-, root, root, -) -%{_libdir}/libboost_math*.so.%{version} -%{_libdir}/libboost_math*.so.%{sonamever} %files test %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_prg_exec_monitor*.so.%{version} -%{_libdir}/libboost_prg_exec_monitor*.so.%{sonamever} %{_libdir}/libboost_unit_test_framework*.so.%{version} -%{_libdir}/libboost_unit_test_framework*.so.%{sonamever} %files program-options %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_program_options*.so.%{version} -%{_libdir}/libboost_program_options*.so.%{sonamever} %files python %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_python*.so.%{version} -%{_libdir}/libboost_python*.so.%{sonamever} %files regex %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_regex*.so.%{version} -%{_libdir}/libboost_regex*.so.%{sonamever} %files serialization %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_serialization*.so.%{version} -%{_libdir}/libboost_serialization*.so.%{sonamever} %{_libdir}/libboost_wserialization*.so.%{version} -%{_libdir}/libboost_wserialization*.so.%{sonamever} %files signals %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_signals*.so.%{version} -%{_libdir}/libboost_signals*.so.%{sonamever} %files system %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_system*.so.%{version} -%{_libdir}/libboost_system*.so.%{sonamever} %files thread %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_thread*.so.%{version} -%{_libdir}/libboost_thread*.so.%{sonamever} %files wave %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/libboost_wave*.so.%{version} -%{_libdir}/libboost_wave*.so.%{sonamever} + +%files mpi +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/libboost_mpi*.so.%{version} %files doc %defattr(-, root, root, -) -%doc %{_docdir}/%{name}-%{version} +%doc %{boost_docdir}/* %files devel %defattr(-, root, root, -) -%{_includedir}/boost +%doc LICENSE_1_0.txt +%{_includedir}/%{name} %{_libdir}/*.so +%{_datadir}/%{name}-%{version} +%{_datadir}/cmake/%{name}/BoostConfig*.cmake %files static %defattr(-, root, root, -) +%doc LICENSE_1_0.txt %{_libdir}/*.a %changelog +* Thu Jan 14 2010 Petr Machata - 1.41.0-2 +- Replace a boost-math subpackage with a stub +- Drop _cmake_lib_suffix and CMAKE_INSTALL_PREFIX magic, the rpm macro + does that for us +- Drop LICENSE from the umbrella package +- Drop obsolete Obsoletes: boost-python and boost-doc <= 1.30.2 + +* Tue Jan 12 2010 Benjamin Kosnik - 1.41.0-1 +- Don't package generated debug libs, even with + (-DCMAKE_BUILD_TYPE=RelWithDebInfo | Release). +- Update and include boost-cmake-soname.patch. +- Uncomment ctest. +- Fix up --with tests to run tests. + +* Sat Dec 19 2009 Denis Arnaud - 1.41.0-0.7 +- Switched off the delivery into a versioned sub-directory + +* Thu Dec 17 2009 Denis Arnaud - 1.41.0-0.6 +- Boost-CMake upstream integration + +* Wed Dec 16 2009 Benjamin Kosnik - 1.41.0-0.5 +- Rebase to 1.41.0 +- Set build type to RelWithDebInfo +- Resolves: #533922 + +* Mon Nov 16 2009 Denis Arnaud - 1.40.0-1 +- Add support for the Boost.MPI sub-package +- Build with CMake (https://svn.boost.org/trac/boost/wiki/CMake) +- Resolves: #529563 + * Mon Nov 16 2009 Petr Machata - 1.39.0-11 - Move comment in Patch13 out of line @@ -486,7 +527,7 @@ rm -rf $RPM_BUILD_ROOT - Disable long double support for ARM * Tue Sep 08 2009 Karsten Hopp 1.39.0-6 -- bump release and rebuild as the package was linked with an old libicu +- bump release and rebuild as the package was linked with an old libicu during the mass rebuild on s390x * Wed Aug 26 2009 Tomas Mraz - 1.39.0-5 @@ -503,8 +544,8 @@ rm -rf $RPM_BUILD_ROOT - Resolves: #509250 * Mon May 11 2009 Benjamin Kosnik - 1.39.0-2 -- Apply patch from Caolan McNamara -- Resolves: #500030 function_template bug is back... +- Apply patch from Caolan McNamara +- Resolves: #500030 function_template bug is back... * Thu May 07 2009 Benjamin Kosnik - 1.39.0-1 - Update release. @@ -613,7 +654,7 @@ rm -rf $RPM_BUILD_ROOT - Source via http. - Philipp Thomas fix for RPM_OPT_FLAGS - Philipp Thomas fix for .so sym links. -- (#225622) Patrice Dumas review comments. +- (#225622) Patrice Dumas review comments. * Tue Jun 26 2007 Benjamin Kosnik 1.34.1.rc1-0.1 - Update to boost_1_34_1_RC1. @@ -635,7 +676,7 @@ rm -rf $RPM_BUILD_ROOT Remove Obsoletes. Add Provides boost-python. Remove mkdir -p $RPM_BUILD_ROOT%%{_docdir} - Added periods for decription text. + Added periods for decription text. Fix Group field. Remove doc Requires boost. Preserve timestamps on install. @@ -719,7 +760,7 @@ rm -rf $RPM_BUILD_ROOT - Use SONAMEVERSION instead of dllversion. * Wed Mar 16 2005 Benjamin Kosnik 1.32.0-4 -- (#142612: Compiling Boost 1.32.0 Failed in RHEL 3.0 on Itanium2) +- (#142612: Compiling Boost 1.32.0 Failed in RHEL 3.0 on Itanium2) - (#150069: libboost_python.so is missing) - (#141617: bad patch boost-base.patch) - (#122817: libboost_*.so symlinks missing) @@ -750,14 +791,14 @@ rm -rf $RPM_BUILD_ROOT * Wed May 05 2004 Warren Togami 1.31.0-7 - missing Obsoletes boost-python -* Mon May 03 2004 Benjamin Kosnik +* Mon May 03 2004 Benjamin Kosnik - (#121630: gcc34 patch needed) * Wed Apr 21 2004 Warren Togami - #121415 FC2 BLOCKER: Obsoletes boost-python-devel, boost-doc - other cleanups -* Tue Mar 30 2004 Benjamin Kosnik +* Tue Mar 30 2004 Benjamin Kosnik - Remove bjam dependency. (via Graydon). - Fix installed library names. - Fix SONAMEs in shared libraries. diff --git a/sources b/sources index 2bcf3a9..ea08870 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a17281fd88c48e0d866e1a12deecbcc0 boost_1_39_0.tar.bz2 +15a7d1a22c61363f607508eff43a2da5 boost-1.41.0.cmake0.tar.bz2 From 721aded241ff4767514826d349f7eb524d39a5ec Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Tue, 19 Jan 2010 15:50:57 +0000 Subject: [PATCH 045/452] - Generalize the soname selection Mon Jan 18 2010 Denis Arnaud - 1.41.0-2.2 - Further split the Boost.MPI sub-package into boost-mpi and boost-mpi-python - Changed the description of Boost.MPI according to the actual dependency (MPICH2 rather than OpenMPI) - Added a few details on the generation of the mpi.so library --- boost-cmake-soname.patch | 2 +- boost.spec | 101 ++++++++++++++++++++++++++++----------- 2 files changed, 74 insertions(+), 29 deletions(-) diff --git a/boost-cmake-soname.patch b/boost-cmake-soname.patch index 09c5e58..8d732eb 100644 --- a/boost-cmake-soname.patch +++ b/boost-cmake-soname.patch @@ -13,7 +13,7 @@ if (BUILD_SOVERSIONED) set_target_properties(${VARIANT_LIBNAME} PROPERTIES -! SOVERSION "6" +! SOVERSION "_FEDORA_SONAME" ) endif() endif () diff --git a/boost.spec b/boost.spec index 9d5ccf8..f090e4e 100644 --- a/boost.spec +++ b/boost.spec @@ -13,19 +13,32 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 2%{?dist} +Release: 3%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries %define full_version %{name}-%{version}.cmake0 Source: %{full_version}.tar.bz2 +# From the version 13 of Fedora, the Boost libraries are delivered +# with sonames equal to the Boost version (e.g., 1.41.0). On older +# versions of Fedora (e.g., Fedora 12), the Boost libraries are +# delivered with another scheme for sonames (e.g., a soname of 5 for +# Fedora 12). If for some reason you wish to set the sonamever +# yourself, you can do it here. +%if 0%{?fedora} >= 13 + %define sonamever %{version} +%else + %define sonamever 5 +%endif + # boost is an "umbrella" package that pulls in all other boost components Requires: boost-date-time = %{version}-%{release} Requires: boost-filesystem = %{version}-%{release} Requires: boost-graph = %{version}-%{release} Requires: boost-iostreams = %{version}-%{release} Requires: boost-mpi = %{version}-%{release} +Requires: boost-mpi-python = %{version}-%{release} Requires: boost-program-options = %{version}-%{release} Requires: boost-python = %{version}-%{release} Requires: boost-regex = %{version}-%{release} @@ -47,8 +60,8 @@ BuildRequires: libicu-devel BuildRequires: chrpath BuildRequires: mpich2-devel -Patch0: boost-graph-compile.patch -Patch1: boost-cmake-soname.patch +Patch0: boost-cmake-soname.patch +Patch1: boost-graph-compile.patch %bcond_with tests %bcond_with docs_generated @@ -117,8 +130,17 @@ Group: System Environment/Libraries %description mpi -Runtime support for Boost MPI, library providing a clean C++ API over -the OpenMPI implementation of MPI. +Runtime support for Boost.MPI, library providing a clean C++ API over +the MPICH2 implementation of MPI. + +%package mpi-python +Summary: Python runtime component of boost mpi library +Group: System Environment/Libraries + +%description mpi-python + +Python support for Boost.MPI, library providing a clean C++ API over +the MPICH2 implementation of MPI. %package program-options Summary: Runtime component of boost program_options library @@ -128,7 +150,7 @@ Group: System Environment/Libraries Runtime support of boost program options library, which allows program developers to obtain (name, value) pairs from the user, via -conventional methods such as command line and config file. +conventional methods such as command line and configuration file. %package python Summary: Runtime component of boost python library @@ -138,7 +160,7 @@ Group: System Environment/Libraries The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes -functions and objects to Python, and vice-versa, using no special +functions and objects to Python, and vice versa, using no special tools -- just your C++ compiler. This package contains runtime support for Boost Python Library. @@ -156,7 +178,7 @@ Group: System Environment/Libraries %description serialization -Runtime support for serialization for persistence and marshalling. +Runtime support for serialization for persistence and marshaling. %package signals Summary: Runtime component of boost signals and slots library @@ -240,8 +262,9 @@ web page (http://www.boost.org/doc/libs/1_40_0). %prep %setup -q -n %{full_version} -%patch0 -p0 -#%patch1 -p0 + +sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0 +%patch1 -p0 %build %{__mkdir_p} build @@ -291,8 +314,10 @@ cd %{_builddir}/%{full_version} cd %{_builddir}/%{full_version}/build DESTDIR=$RPM_BUILD_ROOT make VERBOSE=1 install -# Suppress the wrongly generated mpi.so library -# (it is temporary until upstream Boost-CMake fixes that) +# Suppress the mpi.so library, as it not currently properly generated (some +# dependencies are missing. It is temporary until upstream Boost-CMake +# fixes that (see http://lists.boost.org/boost-cmake/2009/12/0859.php for +# more details) %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/mpi.so # Kill any debug library versions that may show up un-invited. @@ -345,6 +370,10 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %postun mpi -p /sbin/ldconfig +%post mpi-python -p /sbin/ldconfig + +%postun mpi-python -p /sbin/ldconfig + %post program-options -p /sbin/ldconfig %postun program-options -p /sbin/ldconfig @@ -387,76 +416,82 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %files date-time %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_date_time*.so.%{version} +%{_libdir}/libboost_date_time*.so.%{sonamever} %files filesystem %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_filesystem*.so.%{version} +%{_libdir}/libboost_filesystem*.so.%{sonamever} %files graph %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_graph*.so.%{version} +%{_libdir}/libboost_graph*.so.%{sonamever} %files iostreams %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_iostreams*.so.%{version} +%{_libdir}/libboost_iostreams*.so.%{sonamever} %files math %files test %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_prg_exec_monitor*.so.%{version} -%{_libdir}/libboost_unit_test_framework*.so.%{version} +%{_libdir}/libboost_prg_exec_monitor*.so.%{sonamever} +%{_libdir}/libboost_unit_test_framework*.so.%{sonamever} %files program-options %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_program_options*.so.%{version} +%{_libdir}/libboost_program_options*.so.%{sonamever} %files python %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_python*.so.%{version} +%{_libdir}/libboost_python*.so.%{sonamever} %files regex %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_regex*.so.%{version} +%{_libdir}/libboost_regex*.so.%{sonamever} %files serialization %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_serialization*.so.%{version} -%{_libdir}/libboost_wserialization*.so.%{version} +%{_libdir}/libboost_serialization*.so.%{sonamever} +%{_libdir}/libboost_wserialization*.so.%{sonamever} %files signals %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_signals*.so.%{version} +%{_libdir}/libboost_signals*.so.%{sonamever} %files system %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_system*.so.%{version} +%{_libdir}/libboost_system*.so.%{sonamever} %files thread %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_thread*.so.%{version} +%{_libdir}/libboost_thread*.so.%{sonamever} %files wave %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_wave*.so.%{version} +%{_libdir}/libboost_wave*.so.%{sonamever} %files mpi %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_mpi*.so.%{version} +%{_libdir}/libboost_mpi.so.%{sonamever} +%{_libdir}/libboost_mpi-mt.so.%{sonamever} + +%files mpi-python +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/libboost_mpi_python*.so.%{sonamever} %files doc %defattr(-, root, root, -) @@ -476,6 +511,16 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %{_libdir}/*.a %changelog +* Tue Jan 19 2010 Petr Machata - 1.41.0-3 +- Generalize the soname selection + +* Mon Jan 18 2010 Denis Arnaud - 1.41.0-2.2 +- Further split the Boost.MPI sub-package into boost-mpi and + boost-mpi-python +- Changed the description of Boost.MPI according to the actual + dependency (MPICH2 rather than OpenMPI) +- Added a few details on the generation of the mpi.so library + * Thu Jan 14 2010 Petr Machata - 1.41.0-2 - Replace a boost-math subpackage with a stub - Drop _cmake_lib_suffix and CMAKE_INSTALL_PREFIX magic, the rpm macro From c4b14f124393f5f8c9e449ec73cfa2468cfed5c1 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 25 Jan 2010 09:40:32 +0000 Subject: [PATCH 046/452] - Add a patch to build mapnik - Resolves: #558383 --- boost-1.41.0-mapnik.patch | 21 +++++++++++++++++++++ boost.spec | 8 +++++++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 boost-1.41.0-mapnik.patch diff --git a/boost-1.41.0-mapnik.patch b/boost-1.41.0-mapnik.patch new file mode 100644 index 0000000..345ea9b --- /dev/null +++ b/boost-1.41.0-mapnik.patch @@ -0,0 +1,21 @@ +diff -up /home/petr/fedora/boost/devel/boost-1.41.0.cmake0/boost/iostreams/device/mapped_file.hpp\~ /home/petr/fedora/boost/devel/boost-1.41.0.cmake0/boost/iostreams/device/mapped_file.hpp +--- boost/iostreams/device/mapped_file.hpp~ 2009-12-17 20:51:56.000000000 +0100 ++++ boost/iostreams/device/mapped_file.hpp 2010-01-25 10:33:43.000000000 +0100 +@@ -4,6 +4,9 @@ + // Distributed under the Boost Software License, Version 1.0. (See accompanying + // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.) + ++#ifndef BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED ++#define BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED ++ + #if defined(_MSC_VER) && (_MSC_VER >= 1020) + # pragma once + #endif +@@ -591,3 +594,5 @@ operator^=(mapped_file::mapmode& a, mapp + } } // End namespaces iostreams, boost. + + #include // pops abi_suffix.hpp pragmas ++ ++#endif // #ifndef BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED + +Diff finished. Mon Jan 25 10:33:55 2010 diff --git a/boost.spec b/boost.spec index f090e4e..1d54a49 100644 --- a/boost.spec +++ b/boost.spec @@ -13,7 +13,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 3%{?dist} +Release: 4%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries @@ -62,6 +62,7 @@ BuildRequires: mpich2-devel Patch0: boost-cmake-soname.patch Patch1: boost-graph-compile.patch +Patch2: boost-1.41.0-mapnik.patch %bcond_with tests %bcond_with docs_generated @@ -265,6 +266,7 @@ web page (http://www.boost.org/doc/libs/1_40_0). sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0 %patch1 -p0 +%patch2 -p0 %build %{__mkdir_p} build @@ -511,6 +513,10 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %{_libdir}/*.a %changelog +* Mon Jan 25 2010 Petr Machata - 1.41.0-4 +- Add a patch to build mapnik +- Resolves: #558383 + * Tue Jan 19 2010 Petr Machata - 1.41.0-3 - Generalize the soname selection From cba7e47852ba16196c325750eb31ba91b449a178 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Tue, 2 Feb 2010 11:50:48 +0000 Subject: [PATCH 047/452] - Various fixes on the specification - Resolves: #559009 Tue Feb 2 2010 Petr Machata - 1.41.0-5 - Introduce support for both OpenMPI and MPICH2 - Resolves: #559009 --- boost.spec | 345 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 283 insertions(+), 62 deletions(-) diff --git a/boost.spec b/boost.spec index 1d54a49..5efa401 100644 --- a/boost.spec +++ b/boost.spec @@ -10,10 +10,14 @@ %define disable_long_double 1 %endif +# Configuration of MPI backends +%bcond_without mpich2 +%bcond_without openmpi + Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 4%{?dist} +Release: 5%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries @@ -37,8 +41,6 @@ Requires: boost-date-time = %{version}-%{release} Requires: boost-filesystem = %{version}-%{release} Requires: boost-graph = %{version}-%{release} Requires: boost-iostreams = %{version}-%{release} -Requires: boost-mpi = %{version}-%{release} -Requires: boost-mpi-python = %{version}-%{release} Requires: boost-program-options = %{version}-%{release} Requires: boost-python = %{version}-%{release} Requires: boost-regex = %{version}-%{release} @@ -49,6 +51,20 @@ Requires: boost-test = %{version}-%{release} Requires: boost-thread = %{version}-%{release} Requires: boost-wave = %{version}-%{release} +# OpenMPI packages +%if %{with openmpi} +Requires: boost-openmpi = %{version}-%{release} +Requires: boost-openmpi-python = %{version}-%{release} +Requires: boost-graph-openmpi = %{version}-%{release} +%endif + +# MPICH2 packages +%if %{with mpich2} +Requires: boost-mpich2 = %{version}-%{release} +Requires: boost-mpich2-python = %{version}-%{release} +Requires: boost-graph-mpich2 = %{version}-%{release} +%endif + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake BuildRequires: libstdc++-devel @@ -58,7 +74,6 @@ BuildRequires: zlib-devel BuildRequires: python-devel BuildRequires: libicu-devel BuildRequires: chrpath -BuildRequires: mpich2-devel Patch0: boost-cmake-soname.patch Patch1: boost-graph-compile.patch @@ -125,24 +140,6 @@ math library. Now that boost math library is header-only, this package is empty. It's kept around only so that during yum-assisted update, old libraries from boost-math package aren't left around. -%package mpi -Summary: Runtime component of boost mpi library -Group: System Environment/Libraries - -%description mpi - -Runtime support for Boost.MPI, library providing a clean C++ API over -the MPICH2 implementation of MPI. - -%package mpi-python -Summary: Python runtime component of boost mpi library -Group: System Environment/Libraries - -%description mpi-python - -Python support for Boost.MPI, library providing a clean C++ API over -the MPICH2 implementation of MPI. - %package program-options Summary: Runtime component of boost program_options library Group: System Environment/Libraries @@ -261,6 +258,103 @@ This package contains the documentation in the HTML format of the Boost C++ libraries. The documentation provides the same content as that on the Boost web page (http://www.boost.org/doc/libs/1_40_0). + +%if %{with openmpi} + +%package openmpi +Summary: Runtime component of Boost.MPI library +Group: System Environment/Libraries +Requires: openmpi +BuildRequires: openmpi-devel + +%description openmpi + +Runtime support for Boost.MPI-OpenMPI, a library providing a clean C++ +API over the OpenMPI implementation of MPI. + +%package openmpi-devel +Summary: Shared library symlinks for Boost.MPI +Group: System Environment/Libraries +Requires: boost-devel = %{version}-%{release} +Requires: boost-openmpi = %{version}-%{release} + +%description openmpi-devel + +Devel package for Boost.MPI-OpenMPI, a library providing a clean C++ +API over the OpenMPI implementation of MPI. + +%package openmpi-python +Summary: Python runtime component of Boost.MPI library +Group: System Environment/Libraries +Requires: boost-openmpi = %{version}-%{release} + +%description openmpi-python + +Python support for Boost.MPI-OpenMPI, a library providing a clean C++ +API over the OpenMPI implementation of MPI. + +%package graph-openmpi +Summary: Runtime component of parallel boost graph library +Group: System Environment/Libraries + +%description graph-openmpi + +Runtime support for the Parallel BGL graph library. The interface and +graph components are generic, in the same sense as the the Standard +Template Library (STL). This libraries in this package use OpenMPI +backend to do the parallel work. + +%endif + + +%if %{with mpich2} + +%package mpich2 +Summary: Runtime component of Boost.MPI library +Group: System Environment/Libraries +Requires: mpich2 +BuildRequires: mpich2-devel + +%description mpich2 + +Runtime support for Boost.MPI-MPICH2, a library providing a clean C++ +API over the MPICH2 implementation of MPI. + +%package mpich2-devel +Summary: Shared library symlinks for Boost.MPI +Group: System Environment/Libraries +Requires: boost-devel = %{version}-%{release} +Requires: boost-mpich2 = %{version}-%{release} + +%description mpich2-devel + +Devel package for Boost.MPI-MPICH2, a library providing a clean C++ +API over the MPICH2 implementation of MPI. + +%package mpich2-python +Summary: Python runtime component of Boost.MPI library +Group: System Environment/Libraries +Requires: boost-mpich2 = %{version}-%{release} + +%description mpich2-python + +Python support for Boost.MPI-MPICH2, a library providing a clean C++ +API over the MPICH2 implementation of MPI. + +%package graph-mpich2 +Summary: Runtime component of parallel boost graph library +Group: System Environment/Libraries + +%description graph-mpich2 + +Runtime support for the Parallel BGL graph library. The interface and +graph components are generic, in the same sense as the the Standard +Template Library (STL). This libraries in this package use MPICH2 +backend to do the parallel work. + +%endif + + %prep %setup -q -n %{full_version} @@ -269,19 +363,54 @@ sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0 %patch2 -p0 %build -%{__mkdir_p} build -cd build - # Support for building tests. %define boost_testflags -DBUILD_TESTS="NONE" %if %{with tests} %define boost_testflags -DBUILD_TESTS="ALL" %endif -%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \ - -DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF .. -make VERBOSE=1 %{?_smp_mflags} -cd %{_builddir}/%{full_version} +( echo ============================= build serial ================== + mkdir serial + cd serial + %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \ + -DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF \ + -DWITH_MPI=OFF .. + make VERBOSE=1 %{?_smp_mflags} +) + +# Build MPI parts of Boost with OpenMPI support +%if %{with openmpi} +%{_openmpi_load} +# Work around the bug: https://bugzilla.redhat.com/show_bug.cgi?id=560224 +MPI_COMPILER=openmpi-%{_arch} +export MPI_COMPILER +( echo ============================= build $MPI_COMPILER ================== + mkdir $MPI_COMPILER + cd $MPI_COMPILER + %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \ + -DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF \ + -DBUILD_PROJECTS="serialization;python;mpi;graph_parallel" \ + -DBOOST_LIB_INSTALL_DIR=$MPI_LIB .. + make VERBOSE=1 %{?_smp_mflags} +) +%{_openmpi_unload} +%endif + +# Build MPI parts of Boost with MPICH2 support +%if %{with mpich2} +%{_mpich2_load} +( echo ============================= build $MPI_COMPILER ================== + mkdir $MPI_COMPILER + cd $MPI_COMPILER + %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \ + -DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF \ + -DBUILD_PROJECTS="serialization;python;mpi;graph_parallel" \ + -DBOOST_LIB_INSTALL_DIR=$MPI_LIB .. + make VERBOSE=1 %{?_smp_mflags} +) +%{_mpich2_unload} +%endif + %check %if %{with tests} @@ -310,20 +439,59 @@ fi cd %{_builddir}/%{full_version} %endif + %install %{__rm} -rf $RPM_BUILD_ROOT -cd %{_builddir}/%{full_version}/build -DESTDIR=$RPM_BUILD_ROOT make VERBOSE=1 install - -# Suppress the mpi.so library, as it not currently properly generated (some -# dependencies are missing. It is temporary until upstream Boost-CMake -# fixes that (see http://lists.boost.org/boost-cmake/2009/12/0859.php for -# more details) -%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/mpi.so +cd %{_builddir}/%{full_version}/ +%if %{with openmpi} +%{_openmpi_load} +# Work around the bug: https://bugzilla.redhat.com/show_bug.cgi?id=560224 +MPI_COMPILER=openmpi-%{_arch} +export MPI_COMPILER +echo ============================= install $MPI_COMPILER ================== +DESTDIR=$RPM_BUILD_ROOT make -C $MPI_COMPILER VERBOSE=1 install +# Remove parts of boost that we don't want installed in MPI directory. +%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/libboost_{python,{w,}serialization}* +# Suppress the mpi.so python module, as it not currently properly +# generated (some dependencies are missing. It is temporary until +# upstream Boost-CMake fixes that (see +# http://lists.boost.org/boost-cmake/2009/12/0859.php for more +# details) +%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/mpi.so # Kill any debug library versions that may show up un-invited. -%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/*-d.* +%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/*-d.* +# Remove cmake configuration files used to build the Boost libraries +find $RPM_BUILD_ROOT/$MPI_LIB -name '*.cmake' -exec %{__rm} -f {} \; +%{_openmpi_unload} +%endif + +%if %{with mpich2} +%{_mpich2_load} +echo ============================= install $MPI_COMPILER ================== +DESTDIR=$RPM_BUILD_ROOT make -C $MPI_COMPILER VERBOSE=1 install +# Remove parts of boost that we don't want installed in MPI directory. +%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/libboost_{python,{w,}serialization}* +# Suppress the mpi.so python module, as it not currently properly +# generated (some dependencies are missing. It is temporary until +# upstream Boost-CMake fixes that (see +# http://lists.boost.org/boost-cmake/2009/12/0859.php for more +# details) +%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/mpi.so +# Kill any debug library versions that may show up un-invited. +%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/*-d.* +# Remove cmake configuration files used to build the Boost libraries +find $RPM_BUILD_ROOT/$MPI_LIB -name '*.cmake' -exec %{__rm} -f {} \; +%{_mpich2_unload} +%endif + +echo ============================= install serial ================== +DESTDIR=$RPM_BUILD_ROOT make -C serial VERBOSE=1 install +# Kill any debug library versions that may show up un-invited. +%{__rm} -f $RPM_BUILD_ROOT/%{_libdir}/*-d.* +# Remove cmake configuration files used to build the Boost libraries +find $RPM_BUILD_ROOT/%{_libdir} -name '*.cmake' -exec %{__rm} -f {} \; # Prepare the place to temporary store the generated documentation %{__rm} -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html @@ -346,12 +514,14 @@ done # Remove scripts used to generate include files find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{__rm} -f {} \; -# Remove cmake configuration files used to build the Boost libraries -find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; - %clean %{__rm} -rf $RPM_BUILD_ROOT + +# MPI subpackages don't need the ldconfig magic. They are hidden by +# default, in MPI backend-specific directory, and only show to the +# user after the relevant environment module has been loaded. + %post date-time -p /sbin/ldconfig %postun date-time -p /sbin/ldconfig @@ -368,14 +538,6 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %postun iostreams -p /sbin/ldconfig -%post mpi -p /sbin/ldconfig - -%postun mpi -p /sbin/ldconfig - -%post mpi-python -p /sbin/ldconfig - -%postun mpi-python -p /sbin/ldconfig - %post program-options -p /sbin/ldconfig %postun program-options -p /sbin/ldconfig @@ -413,6 +575,7 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %postun wave -p /sbin/ldconfig + %files %files date-time @@ -428,7 +591,8 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %files graph %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/libboost_graph*.so.%{sonamever} +%{_libdir}/libboost_graph.so.%{sonamever} +%{_libdir}/libboost_graph-mt.so.%{sonamever} %files iostreams %defattr(-, root, root, -) @@ -484,17 +648,6 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %doc LICENSE_1_0.txt %{_libdir}/libboost_wave*.so.%{sonamever} -%files mpi -%defattr(-, root, root, -) -%doc LICENSE_1_0.txt -%{_libdir}/libboost_mpi.so.%{sonamever} -%{_libdir}/libboost_mpi-mt.so.%{sonamever} - -%files mpi-python -%defattr(-, root, root, -) -%doc LICENSE_1_0.txt -%{_libdir}/libboost_mpi_python*.so.%{sonamever} - %files doc %defattr(-, root, root, -) %doc %{boost_docdir}/* @@ -503,7 +656,7 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %defattr(-, root, root, -) %doc LICENSE_1_0.txt %{_includedir}/%{name} -%{_libdir}/*.so +%{_libdir}/libboost_*.so %{_datadir}/%{name}-%{version} %{_datadir}/cmake/%{name}/BoostConfig*.cmake @@ -511,8 +664,76 @@ find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \; %defattr(-, root, root, -) %doc LICENSE_1_0.txt %{_libdir}/*.a +%if %{with mpich2} +%{_libdir}/mpich2/lib/*.a +%endif +%if %{with openmpi} +%{_libdir}/openmpi/lib/*.a +%endif + +# OpenMPI packages +%if %{with openmpi} + +%files openmpi +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/openmpi/lib/libboost_mpi.so.%{sonamever} +%{_libdir}/openmpi/lib/libboost_mpi-mt.so.%{sonamever} + +%files openmpi-devel +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/openmpi/lib/libboost_*.so + +%files openmpi-python +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/openmpi/lib/libboost_mpi_python*.so.%{sonamever} + +%files graph-openmpi +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/openmpi/lib/libboost_graph_parallel.so.%{sonamever} +%{_libdir}/openmpi/lib/libboost_graph_parallel-mt.so.%{sonamever} + +%endif + +# MPICH2 packages +%if %{with mpich2} + +%files mpich2 +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/mpich2/lib/libboost_mpi.so.%{sonamever} +%{_libdir}/mpich2/lib/libboost_mpi-mt.so.%{sonamever} + +%files mpich2-devel +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/mpich2/lib/libboost_*.so + +%files mpich2-python +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/mpich2/lib/libboost_mpi_python*.so.%{sonamever} + +%files graph-mpich2 +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/mpich2/lib/libboost_graph_parallel.so.%{sonamever} +%{_libdir}/mpich2/lib/libboost_graph_parallel-mt.so.%{sonamever} + +%endif %changelog +* Mon Jan 30 2010 Denis Arnaud - 1.41.0-5 +- Various fixes on the specification +- Resolves: #559009 + +* Tue Feb 2 2010 Petr Machata - 1.41.0-5 +- Introduce support for both OpenMPI and MPICH2 +- Resolves: #559009 + * Mon Jan 25 2010 Petr Machata - 1.41.0-4 - Add a patch to build mapnik - Resolves: #558383 From e45bd9c670cb31fa73ac64ac692654aba951e17f Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Tue, 2 Feb 2010 16:16:24 +0000 Subject: [PATCH 048/452] - More subpackage interdependency adjustments - boost doesn't bring in the MPI stuff. Instead, $MPI-devel does. It needs to, so that the symlinks don't dangle. - boost-graph-$MPI depends on boost-$MPI so that boost-mpich2 doesn't satisfy the SONAME dependency of boost-graph-openmpi. - Resolves: #559009 --- boost.spec | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/boost.spec b/boost.spec index 5efa401..da819de 100644 --- a/boost.spec +++ b/boost.spec @@ -17,7 +17,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 5%{?dist} +Release: 6%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries @@ -36,7 +36,10 @@ Source: %{full_version}.tar.bz2 %define sonamever 5 %endif -# boost is an "umbrella" package that pulls in all other boost components +# boost is an "umbrella" package that pulls in all other boost +# components, except for MPI sub-packages. Those are "speacial", one +# doesn't necessarily need them and the more typical scenario, I +# think, will be that the developer wants to pick one MPI flavor. Requires: boost-date-time = %{version}-%{release} Requires: boost-filesystem = %{version}-%{release} Requires: boost-graph = %{version}-%{release} @@ -51,20 +54,6 @@ Requires: boost-test = %{version}-%{release} Requires: boost-thread = %{version}-%{release} Requires: boost-wave = %{version}-%{release} -# OpenMPI packages -%if %{with openmpi} -Requires: boost-openmpi = %{version}-%{release} -Requires: boost-openmpi-python = %{version}-%{release} -Requires: boost-graph-openmpi = %{version}-%{release} -%endif - -# MPICH2 packages -%if %{with mpich2} -Requires: boost-mpich2 = %{version}-%{release} -Requires: boost-mpich2-python = %{version}-%{release} -Requires: boost-graph-mpich2 = %{version}-%{release} -%endif - BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake BuildRequires: libstdc++-devel @@ -277,6 +266,8 @@ Summary: Shared library symlinks for Boost.MPI Group: System Environment/Libraries Requires: boost-devel = %{version}-%{release} Requires: boost-openmpi = %{version}-%{release} +Requires: boost-openmpi-python = %{version}-%{release} +Requires: boost-graph-openmpi = %{version}-%{release} %description openmpi-devel @@ -296,6 +287,7 @@ API over the OpenMPI implementation of MPI. %package graph-openmpi Summary: Runtime component of parallel boost graph library Group: System Environment/Libraries +Requires: boost-openmpi = %{version}-%{release} %description graph-openmpi @@ -325,6 +317,8 @@ Summary: Shared library symlinks for Boost.MPI Group: System Environment/Libraries Requires: boost-devel = %{version}-%{release} Requires: boost-mpich2 = %{version}-%{release} +Requires: boost-mpich2-python = %{version}-%{release} +Requires: boost-graph-mpich2 = %{version}-%{release} %description mpich2-devel @@ -344,6 +338,7 @@ API over the MPICH2 implementation of MPI. %package graph-mpich2 Summary: Runtime component of parallel boost graph library Group: System Environment/Libraries +Requires: boost-mpich2 = %{version}-%{release} %description graph-mpich2 @@ -726,11 +721,19 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog -* Mon Jan 30 2010 Denis Arnaud - 1.41.0-5 +* Tue Feb 2 2010 Petr Machata - 1.41.0-6 +- More subpackage interdependency adjustments + - boost doesn't bring in the MPI stuff. Instead, $MPI-devel does. + It needs to, so that the symlinks don't dangle. + - boost-graph-$MPI depends on boost-$MPI so that boost-mpich2 + doesn't satisfy the SONAME dependency of boost-graph-openmpi. +- Resolves: #559009 + +* Mon Feb 1 2010 Denis Arnaud - 1.41.0-5 - Various fixes on the specification - Resolves: #559009 -* Tue Feb 2 2010 Petr Machata - 1.41.0-5 +* Fri Jan 29 2010 Petr Machata - 1.41.0-5 - Introduce support for both OpenMPI and MPICH2 - Resolves: #559009 From e34999075ef7c7217552104042f67a24fc7fab2c Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 22 Feb 2010 13:26:52 +0000 Subject: [PATCH 049/452] - Add a patch for serialization of shared pointers to non polymorphic types --- boost-1.41.0-shared_ptr_serialization.patch | 14 ++++++++++++++ boost.spec | 8 +++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 boost-1.41.0-shared_ptr_serialization.patch diff --git a/boost-1.41.0-shared_ptr_serialization.patch b/boost-1.41.0-shared_ptr_serialization.patch new file mode 100644 index 0000000..f1312b6 --- /dev/null +++ b/boost-1.41.0-shared_ptr_serialization.patch @@ -0,0 +1,14 @@ +diff -up /home/petr/fedora/boost/devel/boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp\~ /home/petr/fedora/boost/devel/boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp +--- boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp~ 2009-12-17 20:51:55.000000000 +0100 ++++ boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp 2010-02-22 14:13:18.000000000 +0100 +@@ -108,7 +108,7 @@ public: + struct non_polymorphic { + static const boost::serialization::extended_type_info * + get_object_identifier(T & t){ +- return boost::serialization::singleton< ++ return &boost::serialization::singleton< + BOOST_DEDUCED_TYPENAME + boost::serialization::type_info_implementation::type + >::get_const_instance(); + +Diff finished. Mon Feb 22 14:13:38 2010 diff --git a/boost.spec b/boost.spec index da819de..ed76dde 100644 --- a/boost.spec +++ b/boost.spec @@ -17,7 +17,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 6%{?dist} +Release: 7%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries @@ -67,6 +67,7 @@ BuildRequires: chrpath Patch0: boost-cmake-soname.patch Patch1: boost-graph-compile.patch Patch2: boost-1.41.0-mapnik.patch +Patch3: boost-1.41.0-shared_ptr_serialization.patch %bcond_with tests %bcond_with docs_generated @@ -356,6 +357,7 @@ backend to do the parallel work. sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0 %patch1 -p0 %patch2 -p0 +%patch3 -p1 %build # Support for building tests. @@ -721,6 +723,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Mon Feb 22 2010 Petr Machata - 1.41.0-7 +- Add a patch for serialization of shared pointers to non polymorphic + types + * Tue Feb 2 2010 Petr Machata - 1.41.0-6 - More subpackage interdependency adjustments - boost doesn't bring in the MPI stuff. Instead, $MPI-devel does. From 324d6eb0cb6da953840aca7c385f133a59a94b31 Mon Sep 17 00:00:00 2001 From: Caolan McNamara Date: Fri, 2 Apr 2010 10:36:25 +0000 Subject: [PATCH 050/452] rebuild for icu --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index ed76dde..9dc6348 100644 --- a/boost.spec +++ b/boost.spec @@ -17,7 +17,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 7%{?dist} +Release: 8%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries @@ -723,6 +723,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Fri Apr 02 2010 Caolán McNamara - 1.41.0-8 +- rebuild for icu + * Mon Feb 22 2010 Petr Machata - 1.41.0-7 - Add a patch for serialization of shared pointers to non polymorphic types From 667c3698dfd69c1d28e7d1b9a10e14021d71734a Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 5 May 2010 18:57:54 +0000 Subject: [PATCH 051/452] - -devel: own %{_datadir}/cmake/%{name}/ - -devel: Requires: cmake (for %{_datadir}/cmake ownership) --- boost.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 9dc6348..ba7309e 100644 --- a/boost.spec +++ b/boost.spec @@ -17,7 +17,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 8%{?dist} +Release: 9%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries @@ -221,6 +221,9 @@ Summary: The Boost C++ headers and shared development libraries Group: Development/Libraries Requires: boost = %{version}-%{release} Provides: boost-python-devel = %{version}-%{release} +# for %%_datadir/cmake ownership, can consider making cmake-filesystem +# if this dep is a problem +Requires: cmake %description devel Headers and shared object symlinks for the Boost C++ libraries. @@ -655,6 +658,7 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %{_includedir}/%{name} %{_libdir}/libboost_*.so %{_datadir}/%{name}-%{version} +%dir %{_datadir}/cmake/%{name}/ %{_datadir}/cmake/%{name}/BoostConfig*.cmake %files static @@ -723,6 +727,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Wed May 05 2010 Rex Dieter - 1.41.0-9 +- -devel: own %%{_datadir}/cmake/%%{name}/ +- -devel: Requires: cmake (for %%{_datadir}/cmake ownership) + * Fri Apr 02 2010 Caolán McNamara - 1.41.0-8 - rebuild for icu From c6e3871a68f1ea0668d1877076003d3a22e05747 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 10 May 2010 15:38:02 +0000 Subject: [PATCH 052/452] - Add an upstream patch that fixes computation of CRC in zlib streams. - Resolves: #590205 --- boost-1.41.0-iostreams-zlib.patch | 21 +++++++++++++++++++++ boost.spec | 8 +++++++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 boost-1.41.0-iostreams-zlib.patch diff --git a/boost-1.41.0-iostreams-zlib.patch b/boost-1.41.0-iostreams-zlib.patch new file mode 100644 index 0000000..c97575b --- /dev/null +++ b/boost-1.41.0-iostreams-zlib.patch @@ -0,0 +1,21 @@ +Index: /trunk/boost/iostreams/filter/zlib.hpp +=================================================================== +--- /trunk/boost/iostreams/filter/zlib.hpp (revision 45783) ++++ /trunk/boost/iostreams/filter/zlib.hpp (revision 57610) +@@ -21,4 +21,5 @@ + #include + #include // MSVC, STATIC_CONSTANT, DEDUCED_TYPENAME, DINKUM. ++#include // uint*_t + #include + #include // buffer size. +@@ -44,7 +45,7 @@ + // Typedefs + +-typedef unsigned int uint; +-typedef unsigned char byte; +-typedef unsigned long ulong; ++typedef uint32_t uint; ++typedef uint8_t byte; ++typedef uint32_t ulong; + + // Prefix 'x' prevents symbols from being redefined when Z_PREFIX is defined diff --git a/boost.spec b/boost.spec index ba7309e..dac1a39 100644 --- a/boost.spec +++ b/boost.spec @@ -17,7 +17,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 9%{?dist} +Release: 10%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries @@ -68,6 +68,7 @@ Patch0: boost-cmake-soname.patch Patch1: boost-graph-compile.patch Patch2: boost-1.41.0-mapnik.patch Patch3: boost-1.41.0-shared_ptr_serialization.patch +Patch4: boost-1.41.0-iostreams-zlib.patch %bcond_with tests %bcond_with docs_generated @@ -361,6 +362,7 @@ sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0 %patch1 -p0 %patch2 -p0 %patch3 -p1 +%patch4 -p2 %build # Support for building tests. @@ -727,6 +729,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Mon May 10 2010 Petr Machata - 1.41.0-10 +- Add an upstream patch that fixes computation of CRC in zlib streams. +- Resolves: #590205 + * Wed May 05 2010 Rex Dieter - 1.41.0-9 - -devel: own %%{_datadir}/cmake/%%{name}/ - -devel: Requires: cmake (for %%{_datadir}/cmake ownership) From 8bda2917351c7a064a3bdb481431f433125ac348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 2 Jun 2010 07:43:32 +0000 Subject: [PATCH 053/452] - don't build with mpich2/openmpi on s390/s390x --- boost.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index dac1a39..4ed51b2 100644 --- a/boost.spec +++ b/boost.spec @@ -11,13 +11,15 @@ %endif # Configuration of MPI backends +%ifnarch s390 s390x %bcond_without mpich2 %bcond_without openmpi +%endif Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 10%{?dist} +Release: 11%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries @@ -729,6 +731,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Wed Jun 2 2010 Dan Horák - 1.41.0-11 +- don't build with mpich2/openmpi on s390/s390x + * Mon May 10 2010 Petr Machata - 1.41.0-10 - Add an upstream patch that fixes computation of CRC in zlib streams. - Resolves: #590205 From 53794d70d10e82a01e53913ca59e9fb5295aa0d0 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 4 Jun 2010 15:04:53 +0000 Subject: [PATCH 054/452] - Don't distribute cmake support files. - Related: #597020 --- boost.spec | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/boost.spec b/boost.spec index 4ed51b2..5f738c3 100644 --- a/boost.spec +++ b/boost.spec @@ -19,12 +19,12 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 11%{?dist} +Release: 12%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries %define full_version %{name}-%{version}.cmake0 -Source: %{full_version}.tar.bz2 +Source: %{url}/%{full_version}.tar.bz2 # From the version 13 of Fedora, the Boost libraries are delivered # with sonames equal to the Boost version (e.g., 1.41.0). On older @@ -518,6 +518,14 @@ done # Remove scripts used to generate include files find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{__rm} -f {} \; +# boost support of cmake needs some tuning. For the time being, leave +# the files out, and rely on cmake's FindBoost to DTRT, as it had been +# doing in pre-cmake-boost times. For further info, see: +# https://bugzilla.redhat.com/show_bug.cgi?id=597020 +%{__rm} -Rfv $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version} +%{__rm} -Rfv $RPM_BUILD_ROOT%{_datadir}/cmake/%{name} + + %clean %{__rm} -rf $RPM_BUILD_ROOT @@ -661,9 +669,6 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %doc LICENSE_1_0.txt %{_includedir}/%{name} %{_libdir}/libboost_*.so -%{_datadir}/%{name}-%{version} -%dir %{_datadir}/cmake/%{name}/ -%{_datadir}/cmake/%{name}/BoostConfig*.cmake %files static %defattr(-, root, root, -) @@ -731,6 +736,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Fri Jun 4 2010 Petr Machata - 1.41.0-12 +- Don't distribute cmake support files. +- Related: #597020 + * Wed Jun 2 2010 Dan Horák - 1.41.0-11 - don't build with mpich2/openmpi on s390/s390x From 71946ab51ebcb888a1a75ee46e1cdf1941c7aa66 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 4 Jun 2010 15:47:46 +0000 Subject: [PATCH 055/452] - Turn on mpich2 on s390. Add arm to the list of arches that openmpi doesn't support. --- boost.spec | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/boost.spec b/boost.spec index 5f738c3..1c9a077 100644 --- a/boost.spec +++ b/boost.spec @@ -11,9 +11,12 @@ %endif # Configuration of MPI backends -%ifnarch s390 s390x %bcond_without mpich2 -%bcond_without openmpi +%ifarch s390 s390x arm + # No OpenMPI support on these arches + %bcond_with openmpi +%else + %bcond_without openmpi %endif Name: boost @@ -736,6 +739,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Fri Jun 4 2010 Petr Machata - 1.41.0-12 +- Turn on mpich2 on s390. Add arm to the list of arches that openmpi + doesn't support. + * Fri Jun 4 2010 Petr Machata - 1.41.0-12 - Don't distribute cmake support files. - Related: #597020 From a1891f493f001af090a88564b2262cf96532e875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Thu, 15 Jul 2010 09:39:20 +0000 Subject: [PATCH 056/452] fix the arch define for ARM platforms --- boost.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 1c9a077..907d142 100644 --- a/boost.spec +++ b/boost.spec @@ -12,7 +12,7 @@ # Configuration of MPI backends %bcond_without mpich2 -%ifarch s390 s390x arm +%ifarch s390 s390x %{arm} # No OpenMPI support on these arches %bcond_with openmpi %else From 3f89025bf6579bf6df7edad0a96401b565527ddc Mon Sep 17 00:00:00 2001 From: dmalcolm Date: Thu, 22 Jul 2010 15:34:40 +0000 Subject: [PATCH 057/452] - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 907d142..d4f7b19 100644 --- a/boost.spec +++ b/boost.spec @@ -22,7 +22,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.41.0 -Release: 12%{?dist} +Release: 13%{?dist} License: Boost URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ Group: System Environment/Libraries @@ -739,6 +739,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Thu Jul 22 2010 David Malcolm - 1.41.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + * Fri Jun 4 2010 Petr Machata - 1.41.0-12 - Turn on mpich2 on s390. Add arm to the list of arches that openmpi doesn't support. From 281f2147cf312e8981a44612bf673fca60131671 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Tue, 27 Jul 2010 16:31:36 +0000 Subject: [PATCH 058/452] - Upstream update: Boost-1.44 with CMake enabled - Resolves: #607615 --- .cvsignore | 2 +- boost-1.41.0-iostreams-zlib.patch | 21 ------------------- boost-1.41.0-mapnik.patch | 21 ------------------- boost-1.41.0-shared_ptr_serialization.patch | 14 ------------- boost-graph-compile.patch | 12 ----------- boost.spec | 23 +++++++++------------ import.log | 1 + sources | 2 +- 8 files changed, 13 insertions(+), 83 deletions(-) delete mode 100644 boost-1.41.0-iostreams-zlib.patch delete mode 100644 boost-1.41.0-mapnik.patch delete mode 100644 boost-1.41.0-shared_ptr_serialization.patch delete mode 100644 boost-graph-compile.patch diff --git a/.cvsignore b/.cvsignore index e7d1d12..168d6c6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -boost-1.41.0.cmake0.tar.bz2 +boost-1.44.0.cmake.tar.bz2 diff --git a/boost-1.41.0-iostreams-zlib.patch b/boost-1.41.0-iostreams-zlib.patch deleted file mode 100644 index c97575b..0000000 --- a/boost-1.41.0-iostreams-zlib.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: /trunk/boost/iostreams/filter/zlib.hpp -=================================================================== ---- /trunk/boost/iostreams/filter/zlib.hpp (revision 45783) -+++ /trunk/boost/iostreams/filter/zlib.hpp (revision 57610) -@@ -21,4 +21,5 @@ - #include - #include // MSVC, STATIC_CONSTANT, DEDUCED_TYPENAME, DINKUM. -+#include // uint*_t - #include - #include // buffer size. -@@ -44,7 +45,7 @@ - // Typedefs - --typedef unsigned int uint; --typedef unsigned char byte; --typedef unsigned long ulong; -+typedef uint32_t uint; -+typedef uint8_t byte; -+typedef uint32_t ulong; - - // Prefix 'x' prevents symbols from being redefined when Z_PREFIX is defined diff --git a/boost-1.41.0-mapnik.patch b/boost-1.41.0-mapnik.patch deleted file mode 100644 index 345ea9b..0000000 --- a/boost-1.41.0-mapnik.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up /home/petr/fedora/boost/devel/boost-1.41.0.cmake0/boost/iostreams/device/mapped_file.hpp\~ /home/petr/fedora/boost/devel/boost-1.41.0.cmake0/boost/iostreams/device/mapped_file.hpp ---- boost/iostreams/device/mapped_file.hpp~ 2009-12-17 20:51:56.000000000 +0100 -+++ boost/iostreams/device/mapped_file.hpp 2010-01-25 10:33:43.000000000 +0100 -@@ -4,6 +4,9 @@ - // Distributed under the Boost Software License, Version 1.0. (See accompanying - // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.) - -+#ifndef BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED -+#define BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED -+ - #if defined(_MSC_VER) && (_MSC_VER >= 1020) - # pragma once - #endif -@@ -591,3 +594,5 @@ operator^=(mapped_file::mapmode& a, mapp - } } // End namespaces iostreams, boost. - - #include // pops abi_suffix.hpp pragmas -+ -+#endif // #ifndef BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED - -Diff finished. Mon Jan 25 10:33:55 2010 diff --git a/boost-1.41.0-shared_ptr_serialization.patch b/boost-1.41.0-shared_ptr_serialization.patch deleted file mode 100644 index f1312b6..0000000 --- a/boost-1.41.0-shared_ptr_serialization.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up /home/petr/fedora/boost/devel/boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp\~ /home/petr/fedora/boost/devel/boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp ---- boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp~ 2009-12-17 20:51:55.000000000 +0100 -+++ boost-1.41.0.cmake0/boost/archive/shared_ptr_helper.hpp 2010-02-22 14:13:18.000000000 +0100 -@@ -108,7 +108,7 @@ public: - struct non_polymorphic { - static const boost::serialization::extended_type_info * - get_object_identifier(T & t){ -- return boost::serialization::singleton< -+ return &boost::serialization::singleton< - BOOST_DEDUCED_TYPENAME - boost::serialization::type_info_implementation::type - >::get_const_instance(); - -Diff finished. Mon Feb 22 14:13:38 2010 diff --git a/boost-graph-compile.patch b/boost-graph-compile.patch deleted file mode 100644 index 4e281f3..0000000 --- a/boost-graph-compile.patch +++ /dev/null @@ -1,12 +0,0 @@ -*** boost/graph/distributed/detail/mpi_process_group.ipp.orig 2009-12-16 15:46:32.410223363 -0800 ---- boost/graph/distributed/detail/mpi_process_group.ipp 2009-12-16 15:47:28.700348300 -0800 -*************** -*** 19,24 **** ---- 19,25 ---- - #endif - - #include -+ #include - #include - #include - #include diff --git a/boost.spec b/boost.spec index d4f7b19..c8cdba7 100644 --- a/boost.spec +++ b/boost.spec @@ -21,12 +21,12 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries -Version: 1.41.0 -Release: 13%{?dist} +Version: 1.44.0 +Release: 0.1%{?dist} License: Boost -URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/ +URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} Group: System Environment/Libraries -%define full_version %{name}-%{version}.cmake0 +%define full_version %{name}-%{version}.cmake Source: %{url}/%{full_version}.tar.bz2 # From the version 13 of Fedora, the Boost libraries are delivered @@ -38,7 +38,7 @@ Source: %{url}/%{full_version}.tar.bz2 %if 0%{?fedora} >= 13 %define sonamever %{version} %else - %define sonamever 5 + %define sonamever 7 %endif # boost is an "umbrella" package that pulls in all other boost @@ -70,10 +70,6 @@ BuildRequires: libicu-devel BuildRequires: chrpath Patch0: boost-cmake-soname.patch -Patch1: boost-graph-compile.patch -Patch2: boost-1.41.0-mapnik.patch -Patch3: boost-1.41.0-shared_ptr_serialization.patch -Patch4: boost-1.41.0-iostreams-zlib.patch %bcond_with tests %bcond_with docs_generated @@ -364,10 +360,6 @@ backend to do the parallel work. %setup -q -n %{full_version} sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0 -%patch1 -p0 -%patch2 -p0 -%patch3 -p1 -%patch4 -p2 %build # Support for building tests. @@ -536,6 +528,7 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ # MPI subpackages don't need the ldconfig magic. They are hidden by # default, in MPI backend-specific directory, and only show to the # user after the relevant environment module has been loaded. +# rpmlint will report that as errors, but it is fine. %post date-time -p /sbin/ldconfig @@ -739,6 +732,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Fri Jul 23 2010 Denis Arnaud - 1.44.0-0.1 +- Upstream update: Boost-1.44 with CMake enabled +- Resolves: #607615 + * Thu Jul 22 2010 David Malcolm - 1.41.0-13 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild diff --git a/import.log b/import.log index 3b6338d..53d54fe 100644 --- a/import.log +++ b/import.log @@ -1,2 +1,3 @@ boost-1_37_0-1_fc10:HEAD:boost-1.37.0-1.fc10.src.rpm:1229535558 boost-1_39_0-1_fc10:HEAD:boost-1.39.0-1.fc10.src.rpm:1241744899 +boost-1_44_0-0_1_fc13:HEAD:boost-1.44.0-0.1.fc13.src.rpm:1280248009 diff --git a/sources b/sources index ea08870..dd8b408 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -15a7d1a22c61363f607508eff43a2da5 boost-1.41.0.cmake0.tar.bz2 +7cb8ea8b3ba5890ac24df8cde249dfd3 boost-1.44.0.cmake.tar.bz2 From 3bfbaa6e4e8a81bb3f86d321496ddb27d089ae86 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Tue, 27 Jul 2010 17:02:23 +0000 Subject: [PATCH 059/452] - Rebuild. --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index c8cdba7..d067eef 100644 --- a/boost.spec +++ b/boost.spec @@ -22,7 +22,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 -Release: 0.1%{?dist} +Release: 0.2%{?dist} License: Boost URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} Group: System Environment/Libraries @@ -732,6 +732,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Tue Jul 27 2010 Benjamin Kosnik - 1.44.0-0.2 +- Rebuild. + * Fri Jul 23 2010 Denis Arnaud - 1.44.0-0.1 - Upstream update: Boost-1.44 with CMake enabled - Resolves: #607615 From 94bd2da100dd2cd6a2c14f64bb1ba397392fe5e0 Mon Sep 17 00:00:00 2001 From: Orcan Ogetbil Date: Wed, 28 Jul 2010 02:33:52 +0000 Subject: [PATCH 060/452] - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index d067eef..d9d2226 100644 --- a/boost.spec +++ b/boost.spec @@ -22,7 +22,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 -Release: 0.2%{?dist} +Release: 0.3%{?dist} License: Boost URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} Group: System Environment/Libraries @@ -732,6 +732,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Tue Jul 27 2010 Orcan Ogetbil - 1.44.0-0.3 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + * Tue Jul 27 2010 Benjamin Kosnik - 1.44.0-0.2 - Rebuild. From d284b1b9f2f750054dedb6ad143203cf5486aac1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 11:12:14 +0000 Subject: [PATCH 061/452] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- import.log | 3 --- 3 files changed, 24 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 import.log diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index a239116..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: boost -# $Id: Makefile,v 1.4 2007/10/15 17:13:04 scop Exp $ -NAME := boost -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/import.log b/import.log deleted file mode 100644 index 53d54fe..0000000 --- a/import.log +++ /dev/null @@ -1,3 +0,0 @@ -boost-1_37_0-1_fc10:HEAD:boost-1.37.0-1.fc10.src.rpm:1229535558 -boost-1_39_0-1_fc10:HEAD:boost-1.39.0-1.fc10.src.rpm:1241744899 -boost-1_44_0-0_1_fc13:HEAD:boost-1.44.0-0.1.fc13.src.rpm:1280248009 From ff2b899a334a61b07725a19431d3d164a37f7d9e Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Sat, 31 Jul 2010 01:29:16 +0200 Subject: [PATCH 062/452] Just ignored a few generated files. --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 168d6c6..c29010e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ boost-1.44.0.cmake.tar.bz2 +boost-*.src.rpm +clog +.build*.log + From 462f3a66e24a8c27cd9bfb4b098ed05a4819cac3 Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Sat, 31 Jul 2010 20:24:51 +0200 Subject: [PATCH 063/452] * Fri Jul 31 2010 Denis Arnaud - 1.44.0-0.4 - Added missing header files in boost/random/detail. Resolves: #619869 --- .gitignore | 6 +++++- boost.spec | 12 ++++++++++-- sources | 3 ++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 168d6c6..dcb0b1e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ -boost-1.44.0.cmake.tar.bz2 +boost-*.tar.* +boost-cmake-soname.patch +clog +.build* + diff --git a/boost.spec b/boost.spec index d9d2226..ca2d8dd 100644 --- a/boost.spec +++ b/boost.spec @@ -22,9 +22,14 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 -Release: 0.3%{?dist} +Release: 0.4%{?dist} License: Boost -URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} + +# Temporarily get the source from a clone repository of the upstream maintainer, +# until that latter fixes the compilation bug. A merge request has been made: +# http://gitorious.org/~zeuner/boost/zeuners-boost-cmake/merge_requests/1 +#URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} +URL: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake/archive-tarball/%{version} Group: System Environment/Libraries %define full_version %{name}-%{version}.cmake Source: %{url}/%{full_version}.tar.bz2 @@ -732,6 +737,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Fri Jul 31 2010 Denis Arnaud - 1.44.0-0.4 +- Added missing header files in boost/random/detail. Resolves: #619869 + * Tue Jul 27 2010 Orcan Ogetbil - 1.44.0-0.3 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild diff --git a/sources b/sources index dd8b408..ccaad0e 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -7cb8ea8b3ba5890ac24df8cde249dfd3 boost-1.44.0.cmake.tar.bz2 +6e46334aeea93d7d480a08034e6368c2 boost-1.44.0.cmake.tar.bz2 +ffcd0af9e29a53107a73e7f2ccc715cc boost-cmake-soname.patch From f3e80a3bfa578b40a645742092c1e815efd3c431 Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Sat, 31 Jul 2010 23:01:32 +0200 Subject: [PATCH 064/452] * Fri Jul 31 2010 Denis Arnaud - 1.44.0-0.4 - Added missing header files in boost/random/detail. Resolves: #619869 --- .gitignore | 2 +- boost.spec | 12 ++++++++++-- sources | 3 ++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index c29010e..5dbb827 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -boost-1.44.0.cmake.tar.bz2 +boost-*.tar.* boost-*.src.rpm clog .build*.log diff --git a/boost.spec b/boost.spec index d9d2226..ca2d8dd 100644 --- a/boost.spec +++ b/boost.spec @@ -22,9 +22,14 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 -Release: 0.3%{?dist} +Release: 0.4%{?dist} License: Boost -URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} + +# Temporarily get the source from a clone repository of the upstream maintainer, +# until that latter fixes the compilation bug. A merge request has been made: +# http://gitorious.org/~zeuner/boost/zeuners-boost-cmake/merge_requests/1 +#URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} +URL: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake/archive-tarball/%{version} Group: System Environment/Libraries %define full_version %{name}-%{version}.cmake Source: %{url}/%{full_version}.tar.bz2 @@ -732,6 +737,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Fri Jul 31 2010 Denis Arnaud - 1.44.0-0.4 +- Added missing header files in boost/random/detail. Resolves: #619869 + * Tue Jul 27 2010 Orcan Ogetbil - 1.44.0-0.3 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild diff --git a/sources b/sources index dd8b408..ccaad0e 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -7cb8ea8b3ba5890ac24df8cde249dfd3 boost-1.44.0.cmake.tar.bz2 +6e46334aeea93d7d480a08034e6368c2 boost-1.44.0.cmake.tar.bz2 +ffcd0af9e29a53107a73e7f2ccc715cc boost-cmake-soname.patch From b9bddec65579889f86112453774502bcce6b1b45 Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Thu, 5 Aug 2010 00:06:41 +0200 Subject: [PATCH 065/452] Added a few generated files in .gitignore. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index dcb0b1e..08f1678 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ boost-*.tar.* +boost-*.src.rpm boost-cmake-soname.patch clog .build* From 145dbee4054083151aafead36ff43d369bbcd14b Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Fri, 6 Aug 2010 12:01:22 +0200 Subject: [PATCH 066/452] * Fri Aug 6 2010 Denis Arnaud - 1.44.0-0.5 - Patched header file in boost/random/detail. Resolves: #621631 --- .gitignore | 1 + boost.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 08f1678..e50c17e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ boost-cmake-soname.patch clog .build* +boost-1.44.0.cmake.tar.bz2 diff --git a/boost.spec b/boost.spec index ca2d8dd..946d97a 100644 --- a/boost.spec +++ b/boost.spec @@ -22,7 +22,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 -Release: 0.4%{?dist} +Release: 0.5%{?dist} License: Boost # Temporarily get the source from a clone repository of the upstream maintainer, @@ -737,6 +737,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Fri Aug 6 2010 Denis Arnaud - 1.44.0-0.5 +- Patched header file in boost/random/detail. Resolves: #621631 + * Fri Jul 31 2010 Denis Arnaud - 1.44.0-0.4 - Added missing header files in boost/random/detail. Resolves: #619869 diff --git a/sources b/sources index ccaad0e..01f7f14 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -6e46334aeea93d7d480a08034e6368c2 boost-1.44.0.cmake.tar.bz2 +6c99cb8684788c4e0ce1411070f8928d boost-1.44.0.cmake.tar.bz2 ffcd0af9e29a53107a73e7f2ccc715cc boost-cmake-soname.patch From 4e883bf349d1ffd521e865a675491d2fc767e572 Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Fri, 6 Aug 2010 14:47:30 +0200 Subject: [PATCH 067/452] * Fri Aug 6 2010 Denis Arnaud - 1.44.0-0.5 - Patched header file in boost/random/detail. Resolves: #621631 --- .gitignore | 3 ++- boost.spec | 5 ++++- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 5dbb827..08f1678 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ boost-*.tar.* boost-*.src.rpm +boost-cmake-soname.patch clog -.build*.log +.build* diff --git a/boost.spec b/boost.spec index ca2d8dd..946d97a 100644 --- a/boost.spec +++ b/boost.spec @@ -22,7 +22,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 -Release: 0.4%{?dist} +Release: 0.5%{?dist} License: Boost # Temporarily get the source from a clone repository of the upstream maintainer, @@ -737,6 +737,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Fri Aug 6 2010 Denis Arnaud - 1.44.0-0.5 +- Patched header file in boost/random/detail. Resolves: #621631 + * Fri Jul 31 2010 Denis Arnaud - 1.44.0-0.4 - Added missing header files in boost/random/detail. Resolves: #619869 diff --git a/sources b/sources index ccaad0e..01f7f14 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -6e46334aeea93d7d480a08034e6368c2 boost-1.44.0.cmake.tar.bz2 +6c99cb8684788c4e0ce1411070f8928d boost-1.44.0.cmake.tar.bz2 ffcd0af9e29a53107a73e7f2ccc715cc boost-cmake-soname.patch From a4e10f90e4b723ab0430c5c2e0786b3f41e711cd Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Tue, 17 Aug 2010 00:35:40 +0200 Subject: [PATCH 068/452] * Fri Aug 16 2010 Denis Arnaud - 1.44.0-0.6 - Merged the latest changes from the now final release of Boost-1.44 --- boost.spec | 16 +++++++++++----- sources | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/boost.spec b/boost.spec index 946d97a..9785c83 100644 --- a/boost.spec +++ b/boost.spec @@ -22,14 +22,17 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 -Release: 0.5%{?dist} +Release: 0.6%{?dist} License: Boost -# Temporarily get the source from a clone repository of the upstream maintainer, -# until that latter fixes the compilation bug. A merge request has been made: -# http://gitorious.org/~zeuner/boost/zeuners-boost-cmake/merge_requests/1 +# The CMake build framework is added on top of the official Boost release +# (http://www.boost.org), and hosted on Gitorious, for now in the following +# Git repository: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake +# Optionally, the CMake framework (set of CMakeLists.txt and module.cmake files) +# could be added thanks to a patch. #URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} -URL: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake/archive-tarball/%{version} +#URL: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake/archive-tarball/%{version} +URL: http://www.boost.org Group: System Environment/Libraries %define full_version %{name}-%{version}.cmake Source: %{url}/%{full_version}.tar.bz2 @@ -737,6 +740,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Fri Aug 16 2010 Denis Arnaud - 1.44.0-0.6 +- Merged the latest changes from the now final release of Boost-1.44 + * Fri Aug 6 2010 Denis Arnaud - 1.44.0-0.5 - Patched header file in boost/random/detail. Resolves: #621631 diff --git a/sources b/sources index 01f7f14..1fdd6a8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -6c99cb8684788c4e0ce1411070f8928d boost-1.44.0.cmake.tar.bz2 +79c7c58e43fa65deb5855127ec32c9e0 boost-1.44.0.cmake.tar.bz2 ffcd0af9e29a53107a73e7f2ccc715cc boost-cmake-soname.patch From 63044e7881a13cda3b9d08ee5fc6789af0edf373 Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Tue, 17 Aug 2010 00:42:06 +0200 Subject: [PATCH 069/452] * Fri Aug 16 2010 Denis Arnaud - 1.44.0-0.6 - Merged the latest changes from the now final release of Boost-1.44 --- boost.spec | 16 +++++++++++----- sources | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/boost.spec b/boost.spec index 946d97a..9785c83 100644 --- a/boost.spec +++ b/boost.spec @@ -22,14 +22,17 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 -Release: 0.5%{?dist} +Release: 0.6%{?dist} License: Boost -# Temporarily get the source from a clone repository of the upstream maintainer, -# until that latter fixes the compilation bug. A merge request has been made: -# http://gitorious.org/~zeuner/boost/zeuners-boost-cmake/merge_requests/1 +# The CMake build framework is added on top of the official Boost release +# (http://www.boost.org), and hosted on Gitorious, for now in the following +# Git repository: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake +# Optionally, the CMake framework (set of CMakeLists.txt and module.cmake files) +# could be added thanks to a patch. #URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} -URL: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake/archive-tarball/%{version} +#URL: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake/archive-tarball/%{version} +URL: http://www.boost.org Group: System Environment/Libraries %define full_version %{name}-%{version}.cmake Source: %{url}/%{full_version}.tar.bz2 @@ -737,6 +740,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Fri Aug 16 2010 Denis Arnaud - 1.44.0-0.6 +- Merged the latest changes from the now final release of Boost-1.44 + * Fri Aug 6 2010 Denis Arnaud - 1.44.0-0.5 - Patched header file in boost/random/detail. Resolves: #621631 diff --git a/sources b/sources index 01f7f14..1fdd6a8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -6c99cb8684788c4e0ce1411070f8928d boost-1.44.0.cmake.tar.bz2 +79c7c58e43fa65deb5855127ec32c9e0 boost-1.44.0.cmake.tar.bz2 ffcd0af9e29a53107a73e7f2ccc715cc boost-cmake-soname.patch From 99812266c69b69acc218b42cddc86fdda25aa51a Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Sun, 22 Aug 2010 04:13:56 +0200 Subject: [PATCH 070/452] - Split the CMake-buildable tar-ball into pristine upstream tar-ball and CMake framework patch --- .gitignore | 5 +- boost-cmake-soname.patch | 19 - boost.spec | 38 +- cmakeify_boost_1440.patch | 16229 ++++++++++++++++++++++++++++++++++++ sources | 4 +- 5 files changed, 16255 insertions(+), 40 deletions(-) delete mode 100644 boost-cmake-soname.patch create mode 100644 cmakeify_boost_1440.patch diff --git a/.gitignore b/.gitignore index e50c17e..e16a1b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ -boost-*.tar.* +boost*.tar.* boost-*.src.rpm -boost-cmake-soname.patch +cmakeify_boost_1440.patch clog .build* -boost-1.44.0.cmake.tar.bz2 diff --git a/boost-cmake-soname.patch b/boost-cmake-soname.patch deleted file mode 100644 index 8d732eb..0000000 --- a/boost-cmake-soname.patch +++ /dev/null @@ -1,19 +0,0 @@ -*** tools/build/CMake/BoostCore.cmake.orig 2010-01-12 20:01:46.006547352 -0800 ---- tools/build/CMake/BoostCore.cmake 2010-01-12 20:02:54.222546929 -0800 -*************** macro(boost_library_variant LIBNAME) -*** 755,761 **** - if (BUILD_SOVERSIONED) - set_target_properties(${VARIANT_LIBNAME} - PROPERTIES -! SOVERSION "${BOOST_VERSION}" - ) - endif() - endif () ---- 755,761 ---- - if (BUILD_SOVERSIONED) - set_target_properties(${VARIANT_LIBNAME} - PROPERTIES -! SOVERSION "_FEDORA_SONAME" - ) - endif() - endif () diff --git a/boost.spec b/boost.spec index 9785c83..aaaba16 100644 --- a/boost.spec +++ b/boost.spec @@ -22,20 +22,20 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 -Release: 0.6%{?dist} +%define pristine_version 1_44_0 +Release: 1%{?dist} License: Boost -# The CMake build framework is added on top of the official Boost release -# (http://www.boost.org), and hosted on Gitorious, for now in the following -# Git repository: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake -# Optionally, the CMake framework (set of CMakeLists.txt and module.cmake files) -# could be added thanks to a patch. -#URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} -#URL: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake/archive-tarball/%{version} +# The CMake build framework (set of CMakeLists.txt and module.cmake files) is +# added on top of the official Boost release (http://www.boost.org), thanks to +# a dedicated patch. That CMake framework (and patch) is hosted and maintained +# on Gitorious, for now in the following Git repository: +# http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake +%define full_pristine_version %{name}_%{pristine_version} +%define full_cmake_version %{name}-%{version}.cmake URL: http://www.boost.org Group: System Environment/Libraries -%define full_version %{name}-%{version}.cmake -Source: %{url}/%{full_version}.tar.bz2 +Source: http://downloads.sourceforge.net/%{name}/%{full_pristine_version}.tar.bz2 # From the version 13 of Fedora, the Boost libraries are delivered # with sonames equal to the Boost version (e.g., 1.41.0). On older @@ -77,7 +77,8 @@ BuildRequires: python-devel BuildRequires: libicu-devel BuildRequires: chrpath -Patch0: boost-cmake-soname.patch +Patch0: cmakeify_boost_1440.patch +#Patch1: boost-cmake-soname.patch %bcond_with tests %bcond_with docs_generated @@ -365,9 +366,10 @@ backend to do the parallel work. %prep -%setup -q -n %{full_version} +%setup -q -n %{full_pristine_version} -sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0 +# CMake framework (CMakeLists.txt, *.cmake and documentation files) +%patch0 -p1 %build # Support for building tests. @@ -443,14 +445,14 @@ if [ -f testing.log ]; then else echo "error with results" fi -cd %{_builddir}/%{full_version} +cd %{_builddir}/%{full_pristine_version} %endif %install %{__rm} -rf $RPM_BUILD_ROOT -cd %{_builddir}/%{full_version}/ +cd %{_builddir}/%{full_pristine_version}/ %if %{with openmpi} %{_openmpi_load} @@ -504,7 +506,7 @@ find $RPM_BUILD_ROOT/%{_libdir} -name '*.cmake' -exec %{__rm} -f {} \; %{__rm} -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html # Install documentation files (HTML pages) within the temporary place -cd %{_builddir}/%{full_version} +cd %{_builddir}/%{full_pristine_version} DOCPATH=%{boost_docdir} find libs doc more -type f \( -name \*.htm -o -name \*.html \) \ | sed -n '/\//{s,/[^/]*$,,;p}' \ @@ -740,6 +742,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Sat Aug 21 2010 Denis Arnaud - 1.44.0-1 +- Split the CMake-buildable tar-ball into pristine upstream tar-ball + and CMake framework patch + * Fri Aug 16 2010 Denis Arnaud - 1.44.0-0.6 - Merged the latest changes from the now final release of Boost-1.44 diff --git a/cmakeify_boost_1440.patch b/cmakeify_boost_1440.patch new file mode 100644 index 0000000..b285bd2 --- /dev/null +++ b/cmakeify_boost_1440.patch @@ -0,0 +1,16229 @@ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/CMakeLists.txt boost-1.44.0-cmake/CMakeLists.txt +--- boost_1_44_0/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/CMakeLists.txt 2010-08-22 00:02:56.673854665 +0200 +@@ -0,0 +1,402 @@ ++########################################################################## ++# CMake Build Rules for Boost # ++########################################################################## ++# Copyright (C) 2007, 2008 Douglas Gregor # ++# Copyright (C) 2007, 2009 Troy Straszheim # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# Basic Usage: # ++# # ++# On Unix variants: # ++# ccmake BOOST_DIRECTORY # ++# # ++# (c)onfigure options to your liking, then (g)enerate # ++# makefiles. Use "make" to build, "make test" to test, "make # ++# install" to install, and "make package" to build binary # ++# packages. # ++# # ++# On Windows: # ++# run the CMake GUI, load the Boost directory, and generate # ++# project files or makefiles for your environment. # ++# # ++# For more information about CMake, see http://www.cmake.org # ++########################################################################## ++cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR) ++project(Boost) ++ ++########################################################################## ++# Boost CMake modules # ++########################################################################## ++list(APPEND CMAKE_MODULE_PATH ${Boost_SOURCE_DIR}/tools/build/CMake) ++include(BoostUtils) ++ ++message(STATUS "") ++colormsg(_HIBLUE_ "Boost.CMake starting") ++ ++########################################################################## ++# Version information # ++########################################################################## ++ ++# We parse the version information from the boost/version.hpp header. ++file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/boost/version.hpp BOOST_VERSIONSTR ++ REGEX "#define[ ]+BOOST_VERSION[ ]+[0-9]+") ++string(REGEX MATCH "[0-9]+" BOOST_VERSIONSTR ${BOOST_VERSIONSTR}) ++if (BOOST_VERSIONSTR) ++ math(EXPR BOOST_VERSION_MAJOR "${BOOST_VERSIONSTR} / 100000") ++ math(EXPR BOOST_VERSION_MINOR "${BOOST_VERSIONSTR} / 100 % 1000") ++ math(EXPR BOOST_VERSION_SUBMINOR "${BOOST_VERSIONSTR} % 100") ++ set(BOOST_VERSION "${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR}") ++else() ++ message(FATAL_ERROR ++ "Unable to parse Boost version from ${CMAKE_CURRENT_SOURCE_DIR}/boost/version.hpp") ++endif() ++ ++# ++# This for automatic testing of multiple versioned installs ++# ++if(BOOST_VERSION_OVERRIDE) ++ set(BOOST_VERSION ${BOOST_VERSION_OVERRIDE}) ++ set(BOOST_VERSION_NUMERIC ${BOOST_VERSION_NUMERIC_OVERRIDE}) ++ set(BOOST_VERSION_UNDERSCORES ${BOOST_VERSION_UNDERSCORES_OVERRIDE}) ++ configure_file(tools/build/CMake/install_me/version.hpp.override.in ${CMAKE_BINARY_DIR}/version.hpp) ++endif() ++ ++set(BOOST_CMAKE_VERSION "${BOOST_VERSION}.cmake0") ++ ++# ++# For intermittent deployment of docs ++# ++set(BOOST_CMAKE_HOST sodium.resophonic.com) ++set(BOOST_CMAKE_DOCROOT /var/www/htdocs/boost-cmake/) ++set(BOOST_CMAKE_VERSIONED_DOCROOT ${BOOST_CMAKE_DOCROOT}/${BOOST_CMAKE_VERSION}) ++set(BOOST_CMAKE_URL ${BOOST_CMAKE_HOST}:${BOOST_CMAKE_VERSIONED_DOCROOT}) ++ ++# ++# BOOST_MAINTAINER: undocced variable that sets up maintainer mode ++# ++if(BOOST_MAINTAINER) ++ # ++ # Put the boost.cmake version someplace sphinx can get it ++ # for use in generated documentation ++ # ++ set(CMAKE_DOCS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/docs/) ++ set(UPSTREAM_TAG "Boost_1_41_0") ++ ++ set(gitdiff "git diff --stat=100,90 ${UPSTREAM_TAG}") ++ add_custom_target(make-diff ++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ++ COMMAND echo "% ${gitdiff}" > ${CMAKE_DOCS_DIR}/source/git_diff.txt ++ COMMAND git diff --stat=100,90 ${UPSTREAM_TAG} >> ${CMAKE_DOCS_DIR}/source/git_diff.txt ++ COMMAND make -C ${CMAKE_DOCS_DIR} html ++ ) ++ ++ add_custom_target(do-release ++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ++ COMMAND git archive --format=tar --prefix=boost-${BOOST_CMAKE_VERSION}/ ${BOOST_CMAKE_VERSION} | gzip --best > boost-${BOOST_CMAKE_VERSION}.tar.gz ++ COMMAND git archive --format=zip -9 --prefix=boost-${BOOST_CMAKE_VERSION}/ ${BOOST_CMAKE_VERSION} > boost-${BOOST_CMAKE_VERSION}.zip ++ # COMMAND git log --quiet ${BOOST_CMAKE_VERSION} > /dev/null ++ COMMAND ssh ${BOOST_CMAKE_HOST} mkdir -p ${BOOST_CMAKE_VERSIONED_DOCROOT} ++ COMMAND scp boost-${BOOST_CMAKE_VERSION}.tar.gz boost-${BOOST_CMAKE_VERSION}.zip ${BOOST_CMAKE_URL} ++ COMMAND make -C ${CMAKE_DOCS_DIR} deploy ++ ) ++ ++ colormsg(HIRED "*** MAINTAINER TARGETS ADDED ***") ++ ++endif() ++ ++# ++# Make sure that we reconfigure when boost/version.hpp changes. ++# ++configure_file(boost/version.hpp ++ ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/version.stamp) ++########################################################################## ++ ++# Put the libaries and binaries that get built into directories at the ++# top of the build tree rather than in hard-to-find leaf ++# directories. This simplifies manual testing and the use of the build ++# tree rather than installed Boost libraries. ++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) ++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) ++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) ++ ++ ++message(STATUS "") ++boost_report_pretty("Boost.CMake version" BOOST_CMAKE_VERSION) ++ ++include(BoostConfig) ++include(BoostCore) ++include(BoostDocs) ++include(BoostTesting) ++########################################################################## ++ ++########################################################################## ++# Build Features and Variants # ++########################################################################## ++ ++ ++# User-level options deciding which variants we will build. ++option(ENABLE_STATIC "Whether to build static libraries" ON) ++option(ENABLE_SHARED "Whether to build shared libraries" ON) ++option(ENABLE_DEBUG "Whether to build debugging libraries" ON) ++option(ENABLE_RELEASE "Whether to build release libraries" ON) ++option(ENABLE_SINGLE_THREADED "Whether to build single-threaded libraries" OFF) ++option(ENABLE_MULTI_THREADED "Whether to build multi-threaded libraries" ON) ++ ++if(BUILD_VERSIONED) ++ message(FATAL_ERROR "Option 'BUILD_VERSIONED' has changed, the new name is WINMANGLE_LIBNAMES") ++endif(BUILD_VERSIONED) ++ ++#if(BUILD_TESTING) ++# message(FATAL_ERROR "Option 'BUILD_TESTING' is gone, new name is BUILD_TESTS, see the docs") ++#endif() ++ ++option(WINMANGLE_LIBNAMES ++ "mangle toolset and boost version tags to into library names" ++ ${WIN32}) ++ ++option(BUILD_SOVERSIONED "Create libraries with SONAMES" ${UNIX}) ++ ++if(UNIX) ++ option(INSTALL_VERSIONED "Install to versioned directories" ON) ++endif() ++ ++ ++# the default set of library variants that we will be building ++boost_add_default_variant(RELEASE DEBUG) ++boost_add_default_variant(SHARED STATIC) ++boost_add_default_variant(MULTI_THREADED SINGLE_THREADED) ++ ++if (MSVC) ++ # For now, we only actually support static/dynamic run-time variants for ++ # Visual C++. Provide both options for Visual C++ users, but just fix ++ # the values of the variables for all other platforms. ++ option(ENABLE_STATIC_RUNTIME ++ "Whether to build libraries linking against the static runtime" ++ ON) ++ ++ option(ENABLE_DYNAMIC_RUNTIME ++ "Whether to build libraries linking against the dynamic runtime" ++ ON) ++ ++ boost_add_default_variant(DYNAMIC_RUNTIME STATIC_RUNTIME) ++endif() ++ ++# Extra features used by some libraries ++set(ENABLE_PYTHON_NODEBUG ON) ++boost_add_extra_variant(PYTHON_NODEBUG PYTHON_DEBUG) ++########################################################################## ++ ++########################################################################## ++# Installation # ++########################################################################## ++if (WIN32) ++ set(sep "_") ++else() ++ set(sep ".") ++endif() ++ ++if (BOOST_VERSION_OVERRIDE) ++ set(verdir "boost-${BOOST_VERSION_OVERRIDE}") ++elseif(INSTALL_VERSIONED) ++ set(verdir "boost-${BOOST_VERSION_MAJOR}${sep}${BOOST_VERSION_MINOR}${sep}${BOOST_VERSION_SUBMINOR}") ++else() ++ set(verstring "") ++endif() ++ ++set(BOOST_INCLUDE_INSTALL_DIR ++ "include/${verdir}" ++ CACHE STRING "Destination path under CMAKE_INSTALL_PREFIX for header files" ++ ) ++ ++set(BOOST_LIB_INSTALL_DIR ++ "lib${LIB_SUFFIX}/${verdir}" ++ CACHE STRING "Destination path under CMAKE_INSTALL_PREFIX for libraries" ++ ) ++ ++boost_report_pretty("Install prefix" CMAKE_INSTALL_PREFIX) ++boost_report_pretty("Install include dir" BOOST_INCLUDE_INSTALL_DIR) ++boost_report_pretty("Install lib dir" BOOST_LIB_INSTALL_DIR) ++ ++include(BoostExternals) ++ ++if (BOOST_VERSION_OVERRIDE) ++ install(FILES ${CMAKE_BINARY_DIR}/version.hpp ++ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}/boost ++ RENAME version.hpp) ++ install(DIRECTORY boost ++ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR} ++ PATTERN "CVS" EXCLUDE ++ PATTERN ".svn" EXCLUDE ++ PATTERN "boost/version.hpp" EXCLUDE) ++else() ++ install(DIRECTORY boost ++ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR} ++ PATTERN "CVS" EXCLUDE ++ PATTERN ".svn" EXCLUDE) ++endif() ++ ++# ++# for testing ++# ++if (BOOST_VERSION_OVERRIDE) ++ install(FILES ${CMAKE_BINARY_DIR}/version.hpp ++ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}/boost ++ RENAME version.hpp) ++endif() ++ ++ ++########################################################################## ++# Binary packages # ++########################################################################## ++# ++# CPACK_PACKAGE_NAME may not contain spaces when generating rpms ++# ++set(CPACK_PACKAGE_NAME "Boost") ++set(CPACK_PACKAGE_VENDOR "Boost.org") ++set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Boost ${BOOST_VERSION} prerelease") ++set(CPACK_PACKAGE_FILE_NAME "boost-${BOOST_VERSION}-${BOOST_PLATFORM}-${BOOST_TOOLSET}") ++ ++if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/README.txt") ++ message(STATUS "Using generic cpack package description file.") ++ set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.txt") ++ set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.txt") ++endif () ++ ++set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE_1_0.txt") ++if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Welcome.txt") ++ message(STATUS "Using generic cpack welcome file.") ++ set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_CURRENT_SOURCE_DIR}/Welcome.txt") ++endif() ++ ++set(CPACK_PACKAGE_VERSION "${BOOST_VERSION}") ++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") ++ ++if(WIN32 AND NOT UNIX) ++ # There is a bug in NSI that does not handle full unix paths properly. Make ++ # sure there is at least one set of four (4) backlasshes. ++ # NOTE: No Boost icon yet ++ set(CPACK_MONOLITHIC_INSTALL ON) # don't be modular for now ++ set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake\\\\Boost.bmp") ++# set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\MyExecutable.exe") ++ set(CPACK_NSIS_DISPLAY_NAME "Boost ${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR} prerelease") ++ set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.boost.org") ++ set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.boost.org") ++ set(CPACK_NSIS_CONTACT "boost-users@lists.boost.org") ++ set(CPACK_NSIS_MODIFY_PATH ON) ++ ++ # Encode the compiler name in the package ++ if (MSVC60) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc6") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual C++ 6") ++ elseif (MSVC70) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc7") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2002") ++ elseif (MSVC71) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc71") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2003") ++ elseif (MSVC80) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc8") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2005") ++ elseif (MSVC90) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc9") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2008") ++ elseif (BORLAND) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-borland") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Borland C++ Builder") ++ endif (MSVC60) ++ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CPACK_NSIS_DISPLAY_NAME}") ++endif(WIN32 AND NOT UNIX) ++include(CPack) ++ ++if (FALSE) ++ option(BOOST_INSTALLER_ON_THE_FLY ++ "Whether to build installers that download components on-the-fly" OFF) ++ ++ if (BOOST_INSTALLER_ON_THE_FLY) ++ if(COMMAND cpack_configure_downloads) ++ cpack_configure_downloads( ++ "http://www.osl.iu.edu/~dgregor/Boost-CMake/${BOOST_VERSION}/" ++ ALL ADD_REMOVE) ++ endif() ++ endif() ++endif() ++########################################################################## ++ ++########################################################################## ++# Building Boost libraries # ++########################################################################## ++# Always include the directory where Boost's include files will be. ++if (TEST_INSTALLED_TREE) ++ # Use the headers from the installation directory ++ include_directories("${CMAKE_INSTALL_PREFIX}/${BOOST_HEADER_DIR}") ++elseif (BOOST_CMAKE_SELFTEST) ++ # Use selftest headers ++ include_directories("${BOOST_CMAKE_SELFTEST_ROOT}/include") ++ # and regular boost headers ++ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++ ++else() ++ # Use the headers directly from the Boost source tree (in boost/) ++ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++endif (TEST_INSTALLED_TREE) ++ ++# Boost.Build version 2 does this due to trouble with autolinking ++# during building and testing. ++# TODO: See if we can actually use auto-linking in our regression tests. ++add_definitions(-DBOOST_ALL_NO_LIB=1) ++ ++# ++# Get build space set up for exports file ++# ++set(BOOST_EXPORTS_FILE ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Exports.cmake ++ CACHE FILEPATH "File to export targets from boost build directory") ++ ++file(MAKE_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) ++file(REMOVE ${BOOST_EXPORTS_FILE}) ++ ++if(NOT INSTALL_VERSIONED) ++ set(pathelem "boost/") ++endif() ++ ++if (NOT BOOST_EXPORTS_INSTALL_DIR) ++ set(BOOST_EXPORTS_INSTALL_DIR ${BOOST_LIB_INSTALL_DIR} ++ CACHE STRING "Install location for cmake exports") ++endif() ++ ++mark_as_advanced(BOOST_EXPORTS_FILE) ++ ++# Add build rules for documentation ++add_subdirectory(doc) ++ ++# Add build rules for all of the Boost libraries ++add_subdirectory(libs) ++ ++# Add build rules for all of the Boost tools ++# TODO: On hold while I work on the modularity code ++add_subdirectory(tools) ++########################################################################## ++ ++if(NOT BOOST_ALL_COMPONENTS) ++ # ++ # This is a dummy target to suppress the warning from ++ # install(EXPORT,....) below. ++ # ++ add_executable(this_is_a_dummy_no_libs_were_built ++ ${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/main.cpp) ++ ++ install(TARGETS this_is_a_dummy_no_libs_were_built ++ EXPORT Boost ++ DESTINATION ${BOOST_LIB_INSTALL_DIR} ++ COMPONENT Boost) ++ ++endif() ++ ++install(EXPORT Boost DESTINATION ${BOOST_EXPORTS_INSTALL_DIR}) ++ ++add_subdirectory(tools/build/CMake) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/CTestConfig.cmake boost-1.44.0-cmake/CTestConfig.cmake +--- boost_1_44_0/CTestConfig.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/CTestConfig.cmake 2010-08-22 00:02:13.169855559 +0200 +@@ -0,0 +1,21 @@ ++## This file should be placed in the root directory of your project. ++## Then modify the CMakeLists.txt file in the root directory of your ++## project to incorporate the testing dashboard. ++ ++message("--------------- CTestConfig.cmake --------------") ++set(CTEST_PROJECT_NAME "Boost") ++set(CTEST_NIGHTLY_START_TIME "03:00:00 EST") ++ ++set(CTEST_UPDATE_TYPE "git") ++ ++set(CTEST_DROP_METHOD "http") ++set(CTEST_DROP_SITE "my.cdash.org") ++set(CTEST_DROP_LOCATION "/submit.php?project=Boost") ++set(CTEST_DROP_SITE_CDASH TRUE) ++set(UPDATE_COMMAND "git") ++# ++# You're welcome to set these ++# ++#set(BUILD_PROJECTS "crc") ++#set(BUILD_TESTS "ALL") ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/doc/CMakeLists.txt boost-1.44.0-cmake/doc/CMakeLists.txt +--- boost_1_44_0/doc/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/doc/CMakeLists.txt 2010-08-22 00:04:58.447854642 +0200 +@@ -0,0 +1,9 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (BUILD_DOCUMENTATION) ++ add_subdirectory(src) ++endif () +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/doc/src/CMakeLists.txt boost-1.44.0-cmake/doc/src/CMakeLists.txt +--- boost_1_44_0/doc/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/doc/src/CMakeLists.txt 2010-08-22 00:04:58.431068183 +0200 +@@ -0,0 +1,19 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (BUILD_DOCUMENTATION_HTML) ++ # Install style sheets and the main Boost logo ++ install(FILES boostbook.css docutils.css reference.css ../../boost.png ++ DESTINATION share/boost-${BOOST_VERSION}/html) ++ ++ # Install images ++ install(DIRECTORY images ++ DESTINATION share/boost-${BOOST_VERSION}/html ++ COMPONENT Core ++ PATTERN "CVS" EXCLUDE ++ PATTERN ".svn" EXCLUDE) ++endif () ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/accumulators/CMakeLists.txt boost-1.44.0-cmake/libs/accumulators/CMakeLists.txt +--- boost_1_44_0/libs/accumulators/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/accumulators/CMakeLists.txt 2010-08-22 00:03:06.508854613 +0200 +@@ -0,0 +1,21 @@ ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ accumulators ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ accumulators ++ TESTDIRS test ++ EXAMPLEDIRS example ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ DESCRIPTION "A framework for incremental calculation, and a collection of statistical accumulators." ++ MODULARIZED ++ AUTHORS "Eric Niebler " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/accumulators/doc/CMakeLists.txt boost-1.44.0-cmake/libs/accumulators/doc/CMakeLists.txt +--- boost_1_44_0/libs/accumulators/doc/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/accumulators/doc/CMakeLists.txt 2010-08-22 00:03:06.509855109 +0200 +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++message(STATUS "accumulators/docs needs love") ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/accumulators/example/CMakeLists.txt boost-1.44.0-cmake/libs/accumulators/example/CMakeLists.txt +--- boost_1_44_0/libs/accumulators/example/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/accumulators/example/CMakeLists.txt 2010-08-22 00:03:06.325930379 +0200 +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_executable(example main.cpp) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/accumulators/module.cmake boost-1.44.0-cmake/libs/accumulators/module.cmake +--- boost_1_44_0/libs/accumulators/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/accumulators/module.cmake 2010-08-22 00:03:06.557855380 +0200 +@@ -0,0 +1 @@ ++boost_module(accumulators DEPENDS parameter typeof foreach) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/accumulators/test/CMakeLists.txt boost-1.44.0-cmake/libs/accumulators/test/CMakeLists.txt +--- boost_1_44_0/libs/accumulators/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/accumulators/test/CMakeLists.txt 2010-08-22 00:03:06.392854831 +0200 +@@ -0,0 +1,82 @@ ++# (C) Copyright 2005: Eric Niebler ++# Distributed under the Boost Software License, Version 1.0. ++# (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ++ ++# bring in rules for testing ++#import testing ; ++#import feature ; ++ ++#feature.feature iterator_debugging ++# : on off ++# : composite propagated optional ++# ; ++ ++#feature.compose off ++# : _HAS_ITERATOR_DEBUGGING=0 ++# ; ++ ++# project ++# : requirements ++# /boost/test//boost_unit_test_framework ++# static ++# ../../.. ++# msvc:_SCL_SECURE_NO_DEPRECATE ++# # MSVC's iterator debugging causes some tests to run forever. ++# msvc:off ++# intel-win:off ++# ; ++ ++boost_additional_test_dependencies(accumulators BOOST_DEPENDS test) ++ ++ ++set(TESTS ++count ++covariance ++droppable ++error_of ++extended_p_square ++extended_p_square_quantile ++external_accumulator ++external_weights ++kurtosis ++max ++mean ++median ++min ++moment ++pot_quantile ++p_square_cumulative_distribution ++p_square_quantile ++reference ++skewness ++sum ++tail ++tail_mean ++tail_quantile ++tail_variate_means ++valarray ++variance ++vector ++weighted_covariance ++weighted_extended_p_square ++weighted_kurtosis ++weighted_mean ++weighted_median ++weighted_moment ++weighted_p_square_cum_dist ++weighted_p_square_quantile ++weighted_skewness ++weighted_sum ++weighted_variance ++weighted_pot_quantile ++weighted_tail_mean ++weighted_tail_quantile ++weighted_tail_variate_means) ++ ++foreach(TEST ${TESTS}) ++ boost_test_run(${TEST} DEPENDS boost_unit_test_framework boost_serialization) ++endforeach(TEST ${TESTS}) ++ ++if(WIN32) ++ message("Need to turn on iterator debugging") ++endif(WIN32) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/algorithm/CMakeLists.txt boost-1.44.0-cmake/libs/algorithm/CMakeLists.txt +--- boost_1_44_0/libs/algorithm/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/algorithm/CMakeLists.txt 2010-08-22 00:04:34.387855000 +0200 +@@ -0,0 +1,22 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++ ++# Add a library target to the build system ++boost_library_project( ++ algorithm ++ # SRCDIRS ++ TESTDIRS minmax/test string/test ++ # EXAMPLEDIRS minmax/example string/example ++ HEADERS algorithm ++ # DOCDIRS ++ DESCRIPTION "A library of various algorithms." ++ MODULARIZED ++ AUTHORS "Pavol Droba " ++ "Herve Bronnimann " ++ # MAINTAINERS ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/algorithm/minmax/test/CMakeLists.txt boost-1.44.0-cmake/libs/algorithm/minmax/test/CMakeLists.txt +--- boost_1_44_0/libs/algorithm/minmax/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/algorithm/minmax/test/CMakeLists.txt 2010-08-22 00:04:34.370855009 +0200 +@@ -0,0 +1,10 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(algorithm BOOST_DEPENDS test) ++ ++boost_test_run(minmax_element_test) ++boost_test_run(minmax_test) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/algorithm/module.cmake boost-1.44.0-cmake/libs/algorithm/module.cmake +--- boost_1_44_0/libs/algorithm/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/algorithm/module.cmake 2010-08-22 00:04:34.661854425 +0200 +@@ -0,0 +1,4 @@ ++boost_module(algorithm DEPENDS regex concept_check range) ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/algorithm/string/test/CMakeLists.txt boost-1.44.0-cmake/libs/algorithm/string/test/CMakeLists.txt +--- boost_1_44_0/libs/algorithm/string/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/algorithm/string/test/CMakeLists.txt 2010-08-22 00:04:34.505854442 +0200 +@@ -0,0 +1,18 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(algorithm BOOST_DEPENDS test) ++ ++ ++boost_test_run(trim_test) ++boost_test_run(conv_test) ++boost_test_run(predicate_test) ++boost_test_run(find_test) ++boost_test_run(split_test) ++boost_test_run(join_test) ++boost_test_run(replace_test) ++boost_test_run(regex_test DEPENDS boost_regex SHARED) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/any/CMakeLists.txt boost-1.44.0-cmake/libs/any/CMakeLists.txt +--- boost_1_44_0/libs/any/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/any/CMakeLists.txt 2010-08-22 00:04:21.695855048 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ any.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ any ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Safe, generic container for single values of different value types." ++ MODULARIZED ++ AUTHORS "Kevlin Henney" ++ MAINTAINERS "Alexander Nasonov " ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/any/module.cmake boost-1.44.0-cmake/libs/any/module.cmake +--- boost_1_44_0/libs/any/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/any/module.cmake 2010-08-22 00:04:21.697855631 +0200 +@@ -0,0 +1 @@ ++boost_module(any DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/any/test/CMakeLists.txt boost-1.44.0-cmake/libs/any/test/CMakeLists.txt +--- boost_1_44_0/libs/any/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/any/test/CMakeLists.txt 2010-08-22 00:04:21.681854254 +0200 +@@ -0,0 +1,11 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(any BOOST_DEPENDS test) ++ ++boost_test_run(any_test ../any_test.cpp) ++boost_test_compile_fail(any_cast_cv_failed) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/array/CMakeLists.txt boost-1.44.0-cmake/libs/array/CMakeLists.txt +--- boost_1_44_0/libs/array/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/array/CMakeLists.txt 2010-08-22 00:03:03.989857712 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ array.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ array ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "STL compliant container wrapper for arrays of constant size." ++ MODULARIZED ++ AUTHORS "Nicolai Josuttis" ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/array/module.cmake boost-1.44.0-cmake/libs/array/module.cmake +--- boost_1_44_0/libs/array/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/array/module.cmake 2010-08-22 00:03:04.005854739 +0200 +@@ -0,0 +1 @@ ++boost_module(array DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/array/test/CMakeLists.txt boost-1.44.0-cmake/libs/array/test/CMakeLists.txt +--- boost_1_44_0/libs/array/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/array/test/CMakeLists.txt 2010-08-22 00:03:03.983854911 +0200 +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(array BOOST_DEPENDS test) ++ ++boost_test_run(array0 array0.cpp) ++boost_test_run(array1 array1.cpp) ++boost_test_run(array2 array2.cpp) ++boost_test_run(array3 array3.cpp) ++boost_test_run(array4 array4.cpp) ++boost_test_run(array5 array5.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/CMakeLists.txt boost-1.44.0-cmake/libs/asio/CMakeLists.txt +--- boost_1_44_0/libs/asio/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/CMakeLists.txt 2010-08-22 00:04:36.848994236 +0200 +@@ -0,0 +1,64 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ asio.hpp ++ asio ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ asio ++ # SRCDIRS ++ TESTDIRS test ++ EXAMPLEDIRS ++ example/ssl ++ example/chat ++ example/echo ++ example/icmp ++ example/http/server2 ++ example/http/server3 ++ example/http/server4 ++ example/http/client ++ example/http/server ++ example/local ++ example/allocation ++ example/porthopper ++ example/invocation ++ example/multicast ++ example/serialization ++ example/iostreams ++ example/socks4 ++ example/timers ++ example/tutorial/daytime1 ++ example/tutorial/daytime2 ++ example/tutorial/daytime3 ++ example/tutorial/daytime4 ++ example/tutorial/daytime5 ++ example/tutorial/daytime6 ++ example/tutorial/daytime7 ++ example/tutorial/timer1 ++ example/tutorial/timer2 ++ example/tutorial/timer3 ++ example/tutorial/timer4 ++ example/tutorial/timer5 ++ example/services ++ example/timeouts ++ example/windows ++ example/nonblocking ++ example/buffers ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Portable networking, including sockets, timers, hostname resolution and socket iostreams." ++ MODULARIZED ++ AUTHORS "Chris Kohlhoff " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/allocation/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/allocation/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/allocation/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/allocation/CMakeLists.txt 2010-08-22 00:04:35.951854276 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "allocation-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/buffers/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/buffers/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/buffers/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/buffers/CMakeLists.txt 2010-08-22 00:04:35.864854825 +0200 +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ reference_counted ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/chat/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/chat/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/chat/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/chat/CMakeLists.txt 2010-08-22 00:04:36.356854475 +0200 +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ chat_server ++ chat_client ++ posix_chat_client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_thread ++ boost_system ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/echo/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/echo/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/echo/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/echo/CMakeLists.txt 2010-08-22 00:04:35.847854414 +0200 +@@ -0,0 +1,17 @@ ++foreach( ++ example ++ blocking_udp_echo_server ++ async_udp_echo_server ++ blocking_udp_echo_client ++ blocking_tcp_echo_server ++ async_tcp_echo_server ++ blocking_tcp_echo_client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_thread ++ boost_system ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/http/client/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/http/client/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/http/client/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/http/client/CMakeLists.txt 2010-08-22 00:04:36.086980627 +0200 +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ async_client ++ sync_client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "client-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/http/server/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/http/server/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/http/server/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/http/server/CMakeLists.txt 2010-08-22 00:04:36.252854633 +0200 +@@ -0,0 +1,32 @@ ++if( ++ UNIX ++) ++set( ++ main_entry ++ posix_main.cpp ++) ++else( ++) ++set( ++ main_entry ++ win_main.cpp ++) ++endif( ++ UNIX ++) ++boost_add_executable( ++ main ++ ${main_entry} ++ connection.cpp ++ connection_manager.cpp ++ mime_types.cpp ++ reply.cpp ++ request_handler.cpp ++ request_parser.cpp ++ server.cpp ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "server-" ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/http/server2/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/http/server2/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/http/server2/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/http/server2/CMakeLists.txt 2010-08-22 00:04:36.222854983 +0200 +@@ -0,0 +1,32 @@ ++if( ++ UNIX ++) ++set( ++ main_entry ++ posix_main.cpp ++) ++else( ++) ++set( ++ main_entry ++ win_main.cpp ++) ++endif( ++ UNIX ++) ++boost_add_executable( ++ main ++ ${main_entry} ++ connection.cpp ++ io_service_pool.cpp ++ mime_types.cpp ++ reply.cpp ++ request_handler.cpp ++ request_parser.cpp ++ server.cpp ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "server2-" ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/http/server3/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/http/server3/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/http/server3/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/http/server3/CMakeLists.txt 2010-08-22 00:04:36.188989270 +0200 +@@ -0,0 +1,31 @@ ++if( ++ UNIX ++) ++set( ++ main_entry ++ posix_main.cpp ++) ++else( ++) ++set( ++ main_entry ++ win_main.cpp ++) ++endif( ++ UNIX ++) ++boost_add_executable( ++ main ++ ${main_entry} ++ connection.cpp ++ mime_types.cpp ++ reply.cpp ++ request_handler.cpp ++ request_parser.cpp ++ server.cpp ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "server3-" ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/http/server4/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/http/server4/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/http/server4/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/http/server4/CMakeLists.txt 2010-08-22 00:04:36.038855442 +0200 +@@ -0,0 +1,30 @@ ++if( ++ UNIX ++) ++set( ++ main_entry ++ posix_main.cpp ++) ++else( ++) ++set( ++ main_entry ++ win_main.cpp ++) ++endif( ++ UNIX ++) ++boost_add_executable( ++ main ++ ${main_entry} ++ file_handler.cpp ++ mime_types.cpp ++ reply.cpp ++ request_parser.cpp ++ server.cpp ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "server4-" ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/icmp/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/icmp/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/icmp/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/icmp/CMakeLists.txt 2010-08-22 00:04:36.000854938 +0200 +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ ping ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/invocation/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/invocation/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/invocation/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/invocation/CMakeLists.txt 2010-08-22 00:04:36.296861579 +0200 +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ prioritised_handlers ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/iostreams/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/iostreams/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/iostreams/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/iostreams/CMakeLists.txt 2010-08-22 00:04:35.944855384 +0200 +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ daytime_server ++ daytime_client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "iostreams-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/local/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/local/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/local/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/local/CMakeLists.txt 2010-08-22 00:04:35.800854187 +0200 +@@ -0,0 +1,15 @@ ++foreach( ++ example ++ stream_server ++ iostream_client ++ stream_client ++ connect_pair ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_thread ++ boost_system ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/multicast/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/multicast/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/multicast/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/multicast/CMakeLists.txt 2010-08-22 00:04:36.299854576 +0200 +@@ -0,0 +1,12 @@ ++foreach( ++ example ++ sender ++ receiver ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/nonblocking/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/nonblocking/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/nonblocking/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/nonblocking/CMakeLists.txt 2010-08-22 00:04:36.388854375 +0200 +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ third_party_lib ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/porthopper/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/porthopper/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/porthopper/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/porthopper/CMakeLists.txt 2010-08-22 00:04:35.979854465 +0200 +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ server ++ client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "porthopper-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/serialization/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/serialization/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/serialization/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/serialization/CMakeLists.txt 2010-08-22 00:04:36.285854386 +0200 +@@ -0,0 +1,15 @@ ++foreach( ++ example ++ server ++ client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_serialization ++ boost_system ++ TARGET_PREFIX ++ "serialization-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/services/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/services/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/services/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/services/CMakeLists.txt 2010-08-22 00:04:36.292855032 +0200 +@@ -0,0 +1,10 @@ ++boost_add_executable( ++ daytime_client ++ daytime_client.cpp ++ logger_service.cpp ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "services-" ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/socks4/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/socks4/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/socks4/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/socks4/CMakeLists.txt 2010-08-22 00:04:36.288854786 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ sync_client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "socks4-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/ssl/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/ssl/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/ssl/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/ssl/CMakeLists.txt 2010-08-22 00:04:35.717854324 +0200 +@@ -0,0 +1,17 @@ ++foreach( ++ example ++ server ++ client ++) ++boost_add_executable( ++ ${example} ++ LINK_LIBS ++ crypto ++ ssl ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "ssl-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/timeouts/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/timeouts/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/timeouts/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/timeouts/CMakeLists.txt 2010-08-22 00:04:35.698854792 +0200 +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ async_tcp_client ++ blocking_tcp_client ++ blocking_udp_client ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/timers/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/timers/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/timers/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/timers/CMakeLists.txt 2010-08-22 00:04:36.390855305 +0200 +@@ -0,0 +1,16 @@ ++boost_add_executable( ++ time_t_timer ++ DEPENDS ++ boost_system ++) ++if( ++ WIN32 ++) ++boost_add_executable( ++ tick_count_timer ++ DEPENDS ++ boost_system ++) ++endif( ++ WIN32 ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/daytime1/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/daytime1/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/daytime1/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/daytime1/CMakeLists.txt 2010-08-22 00:04:36.328854775 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime1-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/daytime2/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/daytime2/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/daytime2/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/daytime2/CMakeLists.txt 2010-08-22 00:04:36.351854563 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime2-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/daytime3/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/daytime3/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/daytime3/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/daytime3/CMakeLists.txt 2010-08-22 00:04:36.304855521 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime3-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/daytime4/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/daytime4/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/daytime4/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/daytime4/CMakeLists.txt 2010-08-22 00:04:36.325854802 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime4-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/daytime5/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/daytime5/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/daytime5/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/daytime5/CMakeLists.txt 2010-08-22 00:04:36.348854954 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime5-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/daytime6/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/daytime6/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/daytime6/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/daytime6/CMakeLists.txt 2010-08-22 00:04:36.353857539 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime6-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/daytime7/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/daytime7/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/daytime7/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/daytime7/CMakeLists.txt 2010-08-22 00:04:36.349854914 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime7-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/timer1/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/timer1/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/timer1/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/timer1/CMakeLists.txt 2010-08-22 00:04:36.302854666 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ timer ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "timer1-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/timer2/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/timer2/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/timer2/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/timer2/CMakeLists.txt 2010-08-22 00:04:36.347856318 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ timer ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "timer2-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/timer3/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/timer3/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/timer3/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/timer3/CMakeLists.txt 2010-08-22 00:04:36.324854521 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ timer ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "timer3-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/timer4/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/timer4/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/timer4/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/timer4/CMakeLists.txt 2010-08-22 00:04:36.313854949 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ timer ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "timer4-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/tutorial/timer5/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/tutorial/timer5/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/tutorial/timer5/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/tutorial/timer5/CMakeLists.txt 2010-08-22 00:04:36.345920141 +0200 +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ timer ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "timer5-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/example/windows/CMakeLists.txt boost-1.44.0-cmake/libs/asio/example/windows/CMakeLists.txt +--- boost_1_44_0/libs/asio/example/windows/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/example/windows/CMakeLists.txt 2010-08-22 00:04:35.915884941 +0200 +@@ -0,0 +1,17 @@ ++if( ++ WIN32 ++) ++foreach( ++ example ++ transmit_file ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) ++endif( ++ WIN32 ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/module.cmake boost-1.44.0-cmake/libs/asio/module.cmake +--- boost_1_44_0/libs/asio/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/module.cmake 2010-08-22 00:04:37.319979581 +0200 +@@ -0,0 +1,3 @@ ++boost_module(asio DEPENDS system date_time config exception) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/test/CMakeLists.txt boost-1.44.0-cmake/libs/asio/test/CMakeLists.txt +--- boost_1_44_0/libs/asio/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/test/CMakeLists.txt 2010-08-22 00:04:36.788854594 +0200 +@@ -0,0 +1,127 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(asio BOOST_DEPENDS test system) ++ ++set (dep_libs "") ++ ++if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") ++ set(dep_libs "pthread") ++ set(os_defines "-D_XOPEN_SOURCE=600 -D_GNU_SOURCE=1") ++endif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") ++ ++if (${CMAKE_SYSTEM_NAME} STREQUAL "Solaris") ++ set(dep_libs "socket;nsl") ++ set(os_defines "-D_XOPEN_SOURCE=500 -D__EXTENSIONS__") ++endif(${CMAKE_SYSTEM_NAME} STREQUAL "Solaris") ++ ++if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") ++ set(dep_libs "ws2_32;mswsock") ++ set(os_defines "-D_WIN32_WINNT=0x0501") ++endif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") ++ ++if (CYGWIN) ++ set(os_defines "-D__USE_W32_SOCKETS") ++endif(CYGWIN) ++ ++if (${CMAKE_SYSTEM_NAME} STREQUAL "hpux") ++ set(dep_libs "ipv6") ++ set(os_defines "-D_XOPEN_SOURCE_EXTENDED") ++endif(${CMAKE_SYSTEM_NAME} STREQUAL "hpux") ++ ++message(STATUS "!!!> missing some qnx stuff") ++ ++set (USE_SELECT "-DBOOST_ASIO_DISABLE_DEV_POLL -DBOOST_ASIO_DISABLE_EPOLL -DBOOST_ASIO_DISABLE_KQUEUE -DBOOST_ASIO_DISABLE_IOCP") ++ ++set (depends "boost_system-mt-static;boost_date_time-mt-static;boost_thread-mt-static") ++ ++set (os_defines "${os_defines} -DBOOST_ALL_NO_LIB=1") ++ ++macro(asio_test_run NAME) ++ boost_test_run(${NAME} ${NAME}.cpp ++ COMPILE_FLAGS "${os_defines}" ++ LINK_LIBS "${dep_libs}" ++ DEPENDS ${depends} ++ ) ++ boost_test_run(${NAME}_select ${NAME}.cpp ++ COMPILE_FLAGS "${os_defines} ${USE_SELECT}" ++ LINK_LIBS "${dep_libs}" ++ DEPENDS ${depends} ++ ) ++endmacro(asio_test_run) ++ ++macro(asio_test_link NAME) ++ boost_test_link(${NAME} ${NAME}.cpp ++ COMPILE_FLAGS "${os_defines}" ++ LINK_LIBS "${dep_libs}" ++ DEPENDS "${depends}" ++ ) ++ boost_test_link(${NAME}_select ${NAME}.cpp ++ COMPILE_FLAGS "${os_defines} ${USE_SELECT}" ++ LINK_LIBS "${dep_libs}" ++ DEPENDS "${depends}" ++ ) ++endmacro(asio_test_link) ++ ++foreach(test ++ basic_datagram_socket ++ basic_deadline_timer ++ basic_socket_acceptor ++ basic_stream_socket ++ completion_condition ++ datagram_socket_service ++ deadline_timer_service ++ socket_acceptor_service ++ stream_socket_service ++ time_traits ++ ) ++ asio_test_link(${test}) ++endforeach() ++ ++foreach(test ++ buffer ++ buffered_read_stream ++ buffered_stream ++ buffered_write_stream ++ buffers_iterator ++ deadline_timer ++ error ++ io_service ++ placeholders ++ is_read_buffered ++ is_write_buffered ++ read ++ read_at ++ read_until ++ socket_base ++ strand ++ write ++ write_at ++ ) ++ asio_test_run(${test}) ++endforeach() ++ ++add_subdirectory(ip) ++add_subdirectory(local) ++add_subdirectory(posix) ++ ++# Test Windows specific Behaviors ++if (MSVC) ++ foreach(test ++ windows_basic_handle ++ windows_basic_random_access_handle ++ windows_basic_stream_handle ++ windows_overlapped_ptr ++ windows_random_access_handle ++ windows_random_access_handle_service ++ windows_stream_handle ++ windows_stream_handle_service ++ ) ++ boost_test_link(${test}) ++ endforeach() ++endif (MSVC) ++ ++add_subdirectory(ssl) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/test/ip/CMakeLists.txt boost-1.44.0-cmake/libs/asio/test/ip/CMakeLists.txt +--- boost_1_44_0/libs/asio/test/ip/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/test/ip/CMakeLists.txt 2010-08-22 00:04:36.717854589 +0200 +@@ -0,0 +1,32 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++foreach(test ++ address ++ address_v4 ++ address_v6 ++ basic_endpoint ++ basic_resolver ++ basic_resolver_entry ++ basic_resolver_iterator ++ basic_resolver_query ++ resolver_query_base ++ resolver_service ++ ) ++ asio_test_link(${test}) ++endforeach() ++ ++foreach(test ++ host_name ++ multicast ++ tcp ++ udp ++ unicast ++ v6_only) ++ asio_test_run(${test}) ++endforeach() ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/test/local/CMakeLists.txt boost-1.44.0-cmake/libs/asio/test/local/CMakeLists.txt +--- boost_1_44_0/libs/asio/test/local/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/test/local/CMakeLists.txt 2010-08-22 00:04:36.649854797 +0200 +@@ -0,0 +1,16 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++foreach(test ++ basic_endpoint ++ connect_pair ++ datagram_protocol ++ stream_protocol ++ ) ++ asio_test_link(${test}) ++endforeach() ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/test/posix/CMakeLists.txt boost-1.44.0-cmake/libs/asio/test/posix/CMakeLists.txt +--- boost_1_44_0/libs/asio/test/posix/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/test/posix/CMakeLists.txt 2010-08-22 00:04:36.787854783 +0200 +@@ -0,0 +1,17 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++foreach(test ++ basic_descriptor ++ basic_stream_descriptor ++ descriptor_base ++ stream_descriptor ++ stream_descriptor_service ++ ) ++ asio_test_link(${test}) ++endforeach() ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/asio/test/ssl/CMakeLists.txt boost-1.44.0-cmake/libs/asio/test/ssl/CMakeLists.txt +--- boost_1_44_0/libs/asio/test/ssl/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/asio/test/ssl/CMakeLists.txt 2010-08-22 00:04:36.519855131 +0200 +@@ -0,0 +1,78 @@ ++# ++# Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com) ++# ++# Distributed under the Boost Software License, Version 1.0. (See accompanying ++# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ++# ++ ++# import os ; ++# import feature ; ++# ++# lib ssl ; ++# lib crypto ; ++# ++# if [ os.name ] = SOLARIS ++# { ++# lib socket ; ++# lib nsl ; ++# } ++# else if [ os.name ] = NT ++# { ++# lib ws2_32 ; ++# lib mswsock ; ++# } ++# else if [ os.name ] = HPUX ++# { ++# lib ipv6 ; ++# } ++ ++#local USE_SELECT = ++# BOOST_ASIO_DISABLE_EPOLL ++# BOOST_ASIO_DISABLE_KQUEUE ++# BOOST_ASIO_DISABLE_IOCP ++# ; ++ ++#project ++# : requirements ++# /boost/date_time//boost_date_time ++# /boost/thread//boost_thread ++# BOOST_ALL_NO_LIB=1 ++# multi ++# SOLARIS:socket ++# SOLARIS:nsl ++# NT:_WIN32_WINNT=0x0501 ++# NT,gcc:ws2_32 ++# NT,gcc:mswsock ++# NT,gcc-cygwin:__USE_W32_SOCKETS ++# HPUX,gcc:_XOPEN_SOURCE_EXTENDED ++# HPUX:ipv6 ++# ; ++ ++foreach (test ++ basic_context ++ context_base ++ context_service ++ context ++ stream_base ++ stream_service ++ stream) ++ boost_test_compile(${test}) ++ boost_test_compile(${test}_select ${test}.cpp COMPILE_FLAGS ${USE_SELECT}) ++endforeach() ++ ++ ++# [ compile basic_context.cpp ] ++# [ compile basic_context.cpp : $(USE_SELECT) : basic_context_select ] ++# [ compile context_base.cpp ] ++# [ compile context_base.cpp : $(USE_SELECT) : context_base_select ] ++# [ compile context_service.cpp ] ++# [ compile context_service.cpp : $(USE_SELECT) : context_service_select ] ++# [ compile context.cpp ] ++# [ compile context.cpp : $(USE_SELECT) : context_select ] ++# [ compile stream_base.cpp ] ++# [ compile stream_base.cpp : $(USE_SELECT) : stream_base_select ] ++# [ compile stream_service.cpp ] ++# [ compile stream_service.cpp : $(USE_SELECT) : stream_service_select ] ++# [ compile stream.cpp ] ++# [ compile stream.cpp : $(USE_SELECT) : stream_select ] ++# ; +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/assign/CMakeLists.txt boost-1.44.0-cmake/libs/assign/CMakeLists.txt +--- boost_1_44_0/libs/assign/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/assign/CMakeLists.txt 2010-08-22 00:04:37.727854611 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ assign ++ assign.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ assign ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Filling containers with constant or generated data has never been easier." ++ MODULARIZED ++ AUTHORS "Thorsten Ottosen " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/assign/module.cmake boost-1.44.0-cmake/libs/assign/module.cmake +--- boost_1_44_0/libs/assign/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/assign/module.cmake 2010-08-22 00:04:37.771854339 +0200 +@@ -0,0 +1 @@ ++boost_module(assign DEPENDS ptr_container) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/assign/test/CMakeLists.txt boost-1.44.0-cmake/libs/assign/test/CMakeLists.txt +--- boost_1_44_0/libs/assign/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/assign/test/CMakeLists.txt 2010-08-22 00:04:37.689853921 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(assign BOOST_DEPENDS test multi_index) ++ ++SET(TESTS ++ basic ++ std ++ list_of ++ ptr_list_of ++ static_list_of ++ tuple_list_of ++ list_inserter ++ ptr_list_inserter ++ ptr_map_inserter ++ list_of_workaround ++ email_example ++ my_vector_example) ++ ++FOREACH(test ${TESTS}) ++ boost_test_run(${test} DEPENDS boost_unit_test_framework) ++ENDFOREACH(test ${TESTS}) ++ ++boost_test_run(multi_index_container ++ DEPENDS boost_unit_test_framework boost_serialization) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/bimap/CMakeLists.txt boost-1.44.0-cmake/libs/bimap/CMakeLists.txt +--- boost_1_44_0/libs/bimap/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/bimap/CMakeLists.txt 2010-08-22 00:04:25.573050680 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ bimap.hpp ++ bimap ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ bimap ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Bidirectional map containers" ++ MODULARIZED ++ AUTHORS "Matias Capeletto " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/bimap/module.cmake boost-1.44.0-cmake/libs/bimap/module.cmake +--- boost_1_44_0/libs/bimap/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/bimap/module.cmake 2010-08-22 00:04:26.026980293 +0200 +@@ -0,0 +1 @@ ++boost_module(bimap DEPENDS xpressive property_map) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/bimap/test/CMakeLists.txt boost-1.44.0-cmake/libs/bimap/test/CMakeLists.txt +--- boost_1_44_0/libs/bimap/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/bimap/test/CMakeLists.txt 2010-08-22 00:04:25.526854825 +0200 +@@ -0,0 +1,49 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(bimap BOOST_DEPENDS test serialization multi_index functional typeof lambda assign) ++ ++boost_test_run(test_tagged) ++boost_test_run(test_structured_pair) ++boost_test_run(test_mutant) ++boost_test_run(test_mutant_relation) ++boost_test_run(test_bimap_set_of) ++boost_test_run(test_bimap_multiset_of) ++boost_test_run(test_bimap_unordered_set_of) ++boost_test_run(test_bimap_unordered_multiset_of) ++boost_test_run(test_bimap_list_of) ++boost_test_run(test_bimap_vector_of) ++boost_test_run(test_bimap_ordered) ++boost_test_run(test_bimap_unordered) ++boost_test_run(test_bimap_sequenced) ++boost_test_run(test_bimap_unconstrained) ++boost_test_run(test_bimap_assign) ++boost_test_run(test_bimap_property_map) ++boost_test_run(test_bimap_modify) ++boost_test_run(test_bimap_range) ++boost_test_run(test_bimap_operator_bracket) ++boost_test_run(test_bimap_lambda) ++boost_test_run(test_bimap_mutable) ++boost_test_run(test_bimap_extra) ++boost_test_run(test_bimap_convenience_header) ++boost_test_run(test_bimap_project) ++boost_test_run(test_bimap_serialization DEPENDS boost_serialization) ++boost_test_run(test_bimap_info) ++boost_test_compile_fail(test_bimap_mutable_1 compile_fail/test_bimap_mutable_1.cpp) ++boost_test_compile_fail(test_bimap_mutable_2 compile_fail/test_bimap_mutable_2.cpp) ++boost_test_compile_fail(test_bimap_mutable_3 compile_fail/test_bimap_mutable_3.cpp) ++boost_test_compile_fail(test_bimap_info_1 compile_fail/test_bimap_info_1.cpp) ++boost_test_compile_fail(test_bimap_info_2 compile_fail/test_bimap_info_2.cpp) ++boost_test_compile_fail(test_bimap_info_3 compile_fail/test_bimap_info_3.cpp) ++boost_test_run(bimap_and_boost_property_map ../example/bimap_and_boost/property_map.cpp) ++boost_test_run(bimap_and_boost_range ../example/bimap_and_boost/range.cpp) ++boost_test_run(bimap_and_boost_foreach ../example/bimap_and_boost/foreach.cpp) ++boost_test_run(bimap_and_boost_lambda ../example/bimap_and_boost/lambda.cpp) ++boost_test_run(bimap_and_boost_assign ../example/bimap_and_boost/assign.cpp) ++boost_test_run(bimap_and_boost_xpressive ../example/bimap_and_boost/xpressive.cpp) ++boost_test_run(bimap_and_boost_typeof ../example/bimap_and_boost/typeof.cpp) ++boost_test_compile(bimap_and_boost_serialization ++ ../example/bimap_and_boost/serialization.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/bind/CMakeLists.txt boost-1.44.0-cmake/libs/bind/CMakeLists.txt +--- boost_1_44_0/libs/bind/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/bind/CMakeLists.txt 2010-08-22 00:04:23.806854559 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ bind.hpp ++ bind ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ bind ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A generalization of the standard functions std::bind1st and std::bind2nd. It supports arbitrary function objects, functions, function pointers, and member function pointers, and is able to bind any argument to a specific value or route input arguments into arbitrary positions." ++ MODULARIZED ++ AUTHORS "Peter Dimov " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/bind/module.cmake boost-1.44.0-cmake/libs/bind/module.cmake +--- boost_1_44_0/libs/bind/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/bind/module.cmake 2010-08-22 00:04:23.807854940 +0200 +@@ -0,0 +1 @@ ++boost_module(bind DEPENDS utility mpl detail config) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/bind/test/CMakeLists.txt boost-1.44.0-cmake/libs/bind/test/CMakeLists.txt +--- boost_1_44_0/libs/bind/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/bind/test/CMakeLists.txt 2010-08-22 00:04:23.791854741 +0200 +@@ -0,0 +1,47 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(bind BOOST_DEPENDS test) ++ ++SET(tests ++ bind_test ++ bind_dm_test ++ bind_eq_test ++ bind_const_test ++ bind_cv_test ++ bind_stateful_test ++ bind_dm2_test ++ bind_not_test ++ bind_rel_test ++ bind_function_test ++ bind_lookup_problem_test ++ bind_rv_sp_test ++ bind_dm3_test ++ bind_visit_test ++ bind_placeholder_test ++ bind_rvalue_test ++ bind_and_or_test ++ mem_fn_test ++ mem_fn_void_test ++ mem_fn_derived_test ++ mem_fn_eq_test ++ mem_fn_dm_test ++ mem_fn_rv_test ++ ref_fn_test ++ bind_fnobj2_test ++ bind_fn2_test ++ bind_mf2_test ++ bind_eq2_test ++ mem_fn_ref_test ++ bind_ref_test ++ bind_eq3_test ++ ) ++FOREACH(test ${tests}) ++ boost_test_run(${test}) ++ENDFOREACH(test ${tests}) ++ ++boost_test_compile(bind_unary_addr) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/circular_buffer/CMakeLists.txt boost-1.44.0-cmake/libs/circular_buffer/CMakeLists.txt +--- boost_1_44_0/libs/circular_buffer/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/circular_buffer/CMakeLists.txt 2010-08-22 00:03:38.569854620 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ circular_buffer.hpp ++ circular_buffer_fwd.hpp ++ circular_buffer ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ circular_buffer ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "STL compliant container also known as ring or cyclic buffer." ++ MODULARIZED ++ AUTHORS "Jan Gaspar " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/circular_buffer/module.cmake boost-1.44.0-cmake/libs/circular_buffer/module.cmake +--- boost_1_44_0/libs/circular_buffer/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/circular_buffer/module.cmake 2010-08-22 00:03:38.649854554 +0200 +@@ -0,0 +1 @@ ++boost_module (circular_buffer DEPENDS config thread) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/circular_buffer/test/CMakeLists.txt boost-1.44.0-cmake/libs/circular_buffer/test/CMakeLists.txt +--- boost_1_44_0/libs/circular_buffer/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/circular_buffer/test/CMakeLists.txt 2010-08-22 00:03:38.533980830 +0200 +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(circular_buffer BOOST_DEPENDS test ) ++ ++ ++boost_test_run(base_test SINGLE_THREADED) ++boost_test_run(space_optimized_test SINGLE_THREADED) ++boost_test_run(soft_iterator_invalidation SINGLE_THREADED) ++boost_test_compile(bounded_buffer_comparison) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/CMakeLists.txt boost-1.44.0-cmake/libs/CMakeLists.txt +--- boost_1_44_0/libs/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/CMakeLists.txt 2010-08-22 00:04:21.181074835 +0200 +@@ -0,0 +1,117 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# Find each subdirectory containing a CMakeLists.txt file, and include ++# it. This avoids the need to manually list which libraries in Boost ++# have CMakeLists.txt files. ++ ++# return a list of directories that we should add_subdirectory() ++macro(BOOST_COLLECT_SUBPROJECT_DIRECTORY_NAMES dirname varname filename) ++ file(GLOB globbed RELATIVE "${dirname}" "${dirname}/*/${filename}") ++ foreach(file ${globbed}) ++ get_filename_component(dir ${file} PATH) ++ set(${varname} ${${varname}} ${dir}) ++ endforeach() ++endmacro() ++ ++# Find all of the subdirectories with .cmake files in them. These are ++# the libraries with dependencies. ++boost_collect_subproject_directory_names(${BOOST_LIBS_PARENT_DIR} BOOST_MODULE_DIRS "module.cmake") ++foreach(subdir ${BOOST_MODULE_DIRS}) ++ include("${BOOST_LIBS_PARENT_DIR}/${subdir}/module.cmake") ++endforeach(subdir) ++ ++# Find all of the subdirectories with CMakeLists.txt files in ++# them. This contains all of the Boost libraries. ++boost_collect_subproject_directory_names(${BOOST_LIBS_PARENT_DIR} BOOST_SUBPROJECT_DIRS "CMakeLists.txt") ++ ++# Add all of the Boost projects in reverse topological order, so that ++# a library's dependencies show up before the library itself. ++set(CPACK_INSTALL_CMAKE_COMPONENTS_ALL) ++list(SORT BOOST_SUBPROJECT_DIRS) ++topological_sort(BOOST_SUBPROJECT_DIRS BOOST_ _DEPENDS) ++ ++# ++# Sanity-check for typos: all projects in BUILD_PROJECTS must exist ++# ++if ((NOT BUILD_PROJECTS STREQUAL "ALL") AND (NOT BUILD_PROJECTS STREQUAL "NONE")) ++ foreach(project ${BUILD_PROJECTS}) ++ list(FIND BOOST_SUBPROJECT_DIRS ${project} THIS_SUBPROJECT_DIRS_INDEX) ++ if (THIS_SUBPROJECT_DIRS_INDEX LESS 0) ++ message(FATAL_ERROR "Nonexistant project \"${project}\" specified in BUILD_PROJECTS. These project names should be all lowercase.") ++ endif() ++ endforeach() ++endif() ++ ++set(BOOST_TEST_PROJECTS "" CACHE INTERNAL "hi" FORCE) ++ ++# ++# include only directories of projects in BUILD_PROJECTS ++# ++message(STATUS "") ++colormsg(_HIBLUE_ "Reading boost project directories (per BUILD_PROJECTS)") ++message(STATUS "") ++set(BOOST_ALL_COMPONENTS "") ++ ++foreach(subdir ${BOOST_SUBPROJECT_DIRS}) ++ list(FIND BUILD_PROJECTS ${subdir} THIS_BUILD_PROJECTS_INDEX) ++ if ((THIS_BUILD_PROJECTS_INDEX GREATER -1) OR (BUILD_PROJECTS STREQUAL "ALL")) ++ message(STATUS "+ ${subdir}") ++ add_subdirectory(${BOOST_LIBS_PARENT_DIR}/${subdir} ${CMAKE_BINARY_DIR}/libs/${subdir}) ++ endif() ++endforeach() ++ ++# ++# If we're doing selftests, add those selftest dirs ++# ++foreach(project ++ ${BOOST_CMAKE_SELFTEST_PROJECTS}) ++ colormsg(RED "* ${project}") ++ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../tools/build/CMake/selftest_projects/${project} ++ ${CMAKE_BINARY_DIR}/libs/${project}) ++endforeach() ++ ++ ++set(BOOST_ALL_COMPONENTS ${BOOST_ALL_COMPONENTS} PARENT_SCOPE) ++ ++if(BUILD_TESTS AND NOT BUILD_TESTS STREQUAL "NONE") ++ message(STATUS "") ++ colormsg(_HIBLUE_ "Traversing project test directories (per BUILD_TESTS)") ++ message(STATUS "") ++else() ++ message(STATUS "") ++ colormsg(HIGRAY "BUILD_TESTS is NONE: skipping test directories.") ++ message(STATUS "") ++endif() ++ ++foreach(PROJ ${BOOST_TEST_PROJECTS}) ++ string(TOLOWER ${PROJ} proj) ++ project(${proj}) ++ set(BOOST_PROJECT_NAME ${proj}) ++ foreach(dir ${BOOST_${PROJ}_TESTDIRS}) ++ message(STATUS "+ ${proj}") ++ add_subdirectory(${dir} ${CMAKE_BINARY_DIR}/libs/${proj}/test) ++ endforeach() ++endforeach() ++ ++# Write out a GraphViz file containing inter-library dependencies. ++set(BOOST_DEPENDENCY_GRAPHVIZ_FILE "${Boost_BINARY_DIR}/dependencies.dot") ++file(WRITE ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "digraph boost {\n") ++foreach(SUBDIR ${BOOST_SUBPROJECT_DIRS}) ++ string(TOUPPER "BOOST_${SUBDIR}_COMPILED_LIB" BOOST_COMPILED_LIB_VAR) ++ if (${BOOST_COMPILED_LIB_VAR}) ++ file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} " \"${SUBDIR}\" [style=\"filled\" fillcolor=\"#A3A27C\" shape=\"box\"];\n ") ++ endif (${BOOST_COMPILED_LIB_VAR}) ++ string(TOUPPER "BOOST_${SUBDIR}_DEPENDS" DEPENDS_VAR) ++ if(DEFINED ${DEPENDS_VAR}) ++ foreach(DEP ${${DEPENDS_VAR}}) ++ file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} ++ " \"${SUBDIR}\" -> \"${DEP}\";\n") ++ endforeach() ++ endif() ++endforeach() ++file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} " \"test\" [style=\"filled\" fillcolor=\"#A3A27C\" shape=\"box\"];\n ") ++file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "}\n") +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/compatibility/CMakeLists.txt boost-1.44.0-cmake/libs/compatibility/CMakeLists.txt +--- boost_1_44_0/libs/compatibility/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/compatibility/CMakeLists.txt 2010-08-22 00:03:31.030854728 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ compatibility ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ compatibility ++ # SRCDIRS ++ # TESTDIRS ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/compatibility/module.cmake boost-1.44.0-cmake/libs/compatibility/module.cmake +--- boost_1_44_0/libs/compatibility/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/compatibility/module.cmake 2010-08-22 00:03:31.031854678 +0200 +@@ -0,0 +1,2 @@ ++boost_module(compatibility) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/concept_check/CMakeLists.txt boost-1.44.0-cmake/libs/concept_check/CMakeLists.txt +--- boost_1_44_0/libs/concept_check/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/concept_check/CMakeLists.txt 2010-08-22 00:04:37.462979679 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ concept_check.hpp ++ concept_archetype.hpp ++ concept_check ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ concept_check ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Tools for generic programming." ++ MODULARIZED ++ AUTHORS "Jeremy Siek " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/concept_check/module.cmake boost-1.44.0-cmake/libs/concept_check/module.cmake +--- boost_1_44_0/libs/concept_check/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/concept_check/module.cmake 2010-08-22 00:04:37.638981016 +0200 +@@ -0,0 +1 @@ ++boost_module(concept_check DEPENDS preprocessor) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/concept_check/test/CMakeLists.txt boost-1.44.0-cmake/libs/concept_check/test/CMakeLists.txt +--- boost_1_44_0/libs/concept_check/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/concept_check/test/CMakeLists.txt 2010-08-22 00:04:37.461979594 +0200 +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(concept_check BOOST_DEPENDS utility) ++ ++# this fails but looks like it isn't the build ++# boost_test_run(../stl_concept_covering) ++boost_test_run(concept_check_test ../concept_check_test.cpp) ++boost_test_run(class_concept_check_test ../class_concept_check_test.cpp) ++boost_test_compile_fail(concept_check_fail_expected ../concept_check_fail_expected.cpp) ++boost_test_compile_fail(class_concept_fail_expected ../class_concept_fail_expected.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/config/CMakeLists.txt boost-1.44.0-cmake/libs/config/CMakeLists.txt +--- boost_1_44_0/libs/config/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/config/CMakeLists.txt 2010-08-22 00:04:32.364188931 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ config.hpp ++ config ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ config ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users." ++ MODULARIZED ++ AUTHORS "John Maddock " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/config/test/CMakeLists.txt boost-1.44.0-cmake/libs/config/test/CMakeLists.txt +--- boost_1_44_0/libs/config/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/config/test/CMakeLists.txt 2010-08-22 00:04:31.711856151 +0200 +@@ -0,0 +1,37 @@ ++# Copyright John Maddock and Douglas Gregor. ++# Use, modification and distribution are subject to the ++# Boost Software License, Version 1.0. (See accompanying file ++# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ++if(MSVC) ++ set(BOOST_CONFIG_MSVC_STATIC_OPTIONS STATIC STATIC_RUNTIME) ++endif(MSVC) ++if(BORLAND) ++ set(BOOST_CONFIG_BORLAND_STATIC_OPTIONS STATIC STATIC_RUNTIME) ++endif(BORLAND) ++ ++if(CMAKE_SYSTEM_NAME MATCHES "Linux") ++ set(BOOST_CONFIG_STATIC_THREAD_LIBS LINK_LIBS pthread rt) ++endif(CMAKE_SYSTEM_NAME MATCHES "Linux") ++ ++boost_additional_test_dependencies(config BOOST_DEPENDS test) ++ ++boost_test_run(config_test_threaded config_test.cpp ++ EXTRA_OPTIONS MULTI_THREADED) ++ ++boost_test_run(config_test ++ EXTRA_OPTIONS SINGLE_THREADED ${BOOST_CONFIG_MSVC_STATIC_OPTIONS} ++ ${BOOST_CONFIG_STATIC_THREAD_LIBS}) ++boost_test_run(config_info_threaded config_info.cpp ++ EXTRA_OPTIONS MULTI_THREADED) ++boost_test_run(config_info ++ EXTRA_OPTIONS SINGLE_THREADED ${BOOST_CONFIG_MSVC_STATIC_OPTIONS}) ++boost_test_run(math_info ++ EXTRA_OPTIONS ${BOOST_CONFIG_BORLAND_STATIC_OPTIONS}) ++ ++ ++boost_test_run(limits_test DEPENDS boost_test_exec_monitor) ++boost_test_run(abi_test abi/abi_test.cpp abi/main.cpp) ++ ++# TODO: config_link_test ++boost_test_compile_fail(test_thread_fail1 threads/test_thread_fail1.cpp) ++boost_test_compile_fail(test_thread_fail2 threads/test_thread_fail2.cpp) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/conversion/CMakeLists.txt boost-1.44.0-cmake/libs/conversion/CMakeLists.txt +--- boost_1_44_0/libs/conversion/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/conversion/CMakeLists.txt 2010-08-22 00:03:04.045483049 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ conversion ++ # SRCDIRS ++ TESTDIRS test ++ # HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Polymorphic and lexical casts" ++ # MODULARIZED ++ AUTHORS "David Abrahams " ++ "Kevlin Henney" ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/conversion/test/CMakeLists.txt boost-1.44.0-cmake/libs/conversion/test/CMakeLists.txt +--- boost_1_44_0/libs/conversion/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/conversion/test/CMakeLists.txt 2010-08-22 00:03:04.028855094 +0200 +@@ -0,0 +1,20 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(conversion BOOST_DEPENDS test detail numeric) ++ ++boost_test_run(implicit_cast) ++boost_test_compile_fail(implicit_cast_fail) ++boost_test_run(cast_test ../cast_test.cpp) ++boost_test_run(numeric_cast_test ../numeric_cast_test.cpp) ++boost_test_run( ++ lexical_cast_test ++ ../lexical_cast_test.cpp ++ DEPENDS boost_unit_test_framework ++) ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/crc/CMakeLists.txt boost-1.44.0-cmake/libs/crc/CMakeLists.txt +--- boost_1_44_0/libs/crc/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/crc/CMakeLists.txt 2010-08-22 00:03:22.574854762 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ crc.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ crc ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "The Boost CRC Library provides two implementations of CRC (cyclic redundancy code) computation objects and two implementations of CRC computation functions. The implementations are template-based." ++ MODULARIZED ++ AUTHORS "Daryle Walker " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/crc/module.cmake boost-1.44.0-cmake/libs/crc/module.cmake +--- boost_1_44_0/libs/crc/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/crc/module.cmake 2010-08-22 00:03:22.597855769 +0200 +@@ -0,0 +1 @@ ++boost_module(crc DEPENDS integer config) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/crc/test/CMakeLists.txt boost-1.44.0-cmake/libs/crc/test/CMakeLists.txt +--- boost_1_44_0/libs/crc/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/crc/test/CMakeLists.txt 2010-08-22 00:03:22.564969213 +0200 +@@ -0,0 +1,10 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(crc BOOST_DEPENDS test random) ++ ++boost_test_run(crc_test crc_test.cpp) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/date_time/CMakeLists.txt boost-1.44.0-cmake/libs/date_time/CMakeLists.txt +--- boost_1_44_0/libs/date_time/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/date_time/CMakeLists.txt 2010-08-22 00:03:32.688857279 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ date_time.hpp ++ date_time ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ date_time ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A set of date-time libraries based on generic programming concepts." ++ MODULARIZED ++ AUTHORS "Jeff Garland " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/date_time/module.cmake boost-1.44.0-cmake/libs/date_time/module.cmake +--- boost_1_44_0/libs/date_time/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/date_time/module.cmake 2010-08-22 00:03:32.691854573 +0200 +@@ -0,0 +1 @@ ++boost_module(date_time DEPENDS algorithm smart_ptr tokenizer io bind serialization) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/date_time/src/CMakeLists.txt boost-1.44.0-cmake/libs/date_time/src/CMakeLists.txt +--- boost_1_44_0/libs/date_time/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/date_time/src/CMakeLists.txt 2010-08-22 00:03:32.671855174 +0200 +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++add_definitions(-DBOOST_DATE_TIME_NO_LIB=1) ++boost_add_library( ++ date_time ++ gregorian/greg_month.cpp gregorian/greg_weekday.cpp gregorian/date_generators.cpp ++ STATIC_COMPILE_FLAGS -DBOOST_DATE_TIME_STATIC_LINK ++ SHARED_COMPILE_FLAGS -DBOOST_ALL_DYN_LINK=1 ++ ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/date_time/test/CMakeLists.txt boost-1.44.0-cmake/libs/date_time/test/CMakeLists.txt +--- boost_1_44_0/libs/date_time/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/date_time/test/CMakeLists.txt 2010-08-22 00:03:32.644855862 +0200 +@@ -0,0 +1,187 @@ ++boost_additional_test_dependencies(date_time BOOST_DEPENDS test bind) ++ ++# Core ++boost_test_run(testint_adapter) ++boost_test_run(testtime_resolution_traits) ++boost_test_run(testwrapping_int) ++boost_test_run(testconstrained_value) ++boost_test_run(testgregorian_calendar) ++boost_test_run(testgeneric_period) ++ ++set(DATE_TIME_COMPILE_FLAGS ++ "-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DBOOST_DATE_TIME_STATIC_LINK -DBOOST_ALL_NO_LIB") ++set(DATE_TIME_SHARED_COMPILE_FLAGS ++ "-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB") ++ ++# A macro that collects the common settings used to build a run test ++# for the Date-Time library that links statically. ++macro(date_time_static_test SUBDIR TESTNAME) ++ boost_test_run(${TESTNAME} ++ "${SUBDIR}/${TESTNAME}.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS ${DATE_TIME_COMPILE_FLAGS}) ++endmacro(date_time_static_test) ++ ++# A macro that collects the common settings used to build a run test ++# for the Date-Time library that links dynamically. ++macro(date_time_shared_test SUBDIR TESTNAME) ++ boost_test_run("${TESTNAME}_dll" ++ "${SUBDIR}/${TESTNAME}.cpp" ++ DEPENDS boost_date_time SHARED ++ COMPILE_FLAGS ${DATE_TIME_SHARED_COMPILE_FLAGS}) ++endmacro(date_time_shared_test) ++ ++# Gregorian ++date_time_static_test(gregorian testdate) ++date_time_static_test(gregorian testdate_duration) ++date_time_static_test(gregorian testgreg_durations) ++date_time_static_test(gregorian testperiod) ++date_time_static_test(gregorian testdate_iterator) ++date_time_static_test(gregorian testformatters) ++### streaming ++date_time_static_test(gregorian testdate_facet_new) ++date_time_static_test(gregorian testdate_input_facet) ++### ++date_time_static_test(gregorian testgenerators) ++date_time_static_test(gregorian testgreg_cal) ++date_time_static_test(gregorian testgreg_day) ++date_time_static_test(gregorian testgreg_month) ++date_time_static_test(gregorian testgreg_year) ++ ++date_time_shared_test(gregorian testdate) ++date_time_shared_test(gregorian testdate_duration) ++date_time_shared_test(gregorian testgreg_durations) ++date_time_shared_test(gregorian testperiod) ++date_time_shared_test(gregorian testdate_iterator) ++date_time_shared_test(gregorian testformatters) ++### streaming ++date_time_shared_test(gregorian testdate_facet_new) ++date_time_shared_test(gregorian testdate_input_facet) ++### ++date_time_shared_test(gregorian testgenerators) ++date_time_shared_test(gregorian testgreg_cal) ++date_time_shared_test(gregorian testgreg_day) ++date_time_shared_test(gregorian testgreg_month) ++date_time_shared_test(gregorian testgreg_year) ++ ++# POSIX Time ++date_time_static_test(posix_time testfiletime_functions) ++date_time_static_test(posix_time testlocal_adjustor) ++date_time_static_test(posix_time testc_local_adjustor) ++date_time_static_test(posix_time testclock) ++date_time_static_test(posix_time testdst_rules) ++date_time_static_test(posix_time testduration) ++date_time_static_test(posix_time testiterator) ++date_time_static_test(posix_time testparse_time) ++date_time_static_test(posix_time testtime_period) ++date_time_static_test(posix_time testtime) ++date_time_static_test(posix_time testmicrosec_time_clock) ++date_time_static_test(posix_time testtime_formatters) ++date_time_static_test(posix_time testgreg_duration_operators) ++### streaming ++date_time_static_test(posix_time testtime_facet) ++date_time_static_test(posix_time testtime_input_facet) ++### ++ ++# Wide streaming ++boost_test_run(testgreg_wstream ++ "gregorian/testgreg_wstream.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++boost_test_run(testtime_wstream ++ "posix_time/testtime_wstream.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++ ++# Pre-1.33 facets ++boost_test_run(testfacet_dll ++ "gregorian/testfacet.cpp" ++ DEPENDS boost_date_time SHARED ++ COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++# Note: This next test was commented out in the Jamfile.v2 because "it ++# crashes on VC6 (cause unknown)" ++boost_test_run(testparse_date_dll ++ "gregorian/testparse_date.cpp" ++ DEPENDS boost_date_time SHARED ++ COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++boost_test_run(testfacet ++ "gregorian/testfacet.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++boost_test_run(testparse_date ++ "gregorian/testparse_date.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++boost_test_run(teststreams ++ "posix_time/teststreams.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++ ++# Local time ++date_time_static_test(local_time testdst_transition_day_rule) ++date_time_static_test(local_time testcustom_time_zone) ++date_time_static_test(local_time testposix_time_zone) ++date_time_static_test(local_time testwcustom_time_zone) ++date_time_static_test(local_time testwposix_time_zone) ++ ++# we have to copy these into the binary dir because to make the ++# paths inside the tests match ++if (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) ++ FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/data") ++ execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/date_time/data/date_time_zonespec.csv" "${CMAKE_BINARY_DIR}/libs/date_time/data") ++ FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/test/local_time") ++ execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/date_time/test/local_time/poorly_formed_zonespec.csv" "${CMAKE_BINARY_DIR}/libs/date_time/test/local_time") ++endif (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) ++ ++date_time_static_test(local_time testtz_database) ++date_time_static_test(local_time testlocal_time) ++date_time_static_test(local_time testlocal_time_iterator) ++date_time_static_test(local_time testlocal_time_period) ++### streaming ++date_time_static_test(local_time testlocal_time_facet) ++date_time_static_test(local_time testlocal_time_input_facet) ++### ++date_time_static_test(local_time testclocks) ++ ++ ++set(DATE_TIME_COMPILE_FLAGS ++ "-DBOOST_DATE_TIME_STATIC_LINK -DBOOST_ALL_NO_LIB -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++ ++# Serialization ++ # xml archive tests ++boost_test_run(testgreg_serialize_xml ++ "gregorian/testgreg_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DDATE_TIME_XML_SERIALIZE") ++boost_test_run(testtime_serialize_xml_std_config ++ "posix_time/testtime_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DDATE_TIME_XML_SERIALIZE") ++boost_test_run(testtime_serialize_xml ++ "posix_time/testtime_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DDATE_TIME_XML_SERIALIZE") ++ ++ # text archive tests ++boost_test_run(testgreg_serialize ++ "gregorian/testgreg_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS}") ++boost_test_run(testgreg_serialize_dll ++ "gregorian/testgreg_serialize.cpp" ++ DEPENDS boost_date_time SHARED boost_serialization SHARED ++ COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS}") ++boost_test_run(testtime_serialize_std_config ++ "posix_time/testtime_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG") ++boost_test_run(testtime_serialize ++ "posix_time/testtime_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS}") ++ ++# Copyright (c) 2000-2005 ++# CrystalClear Software, Inc. ++# Subject to the Boost Software License, Version 1.0. ++# (See accompanying file LICENSE-1.0 or ++# http://www.boost.org/LICENSE-1.0) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/detail/CMakeLists.txt boost-1.44.0-cmake/libs/detail/CMakeLists.txt +--- boost_1_44_0/libs/detail/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/detail/CMakeLists.txt 2010-08-22 00:03:38.481854298 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ detail ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ detail ++ # SRCDIRS ++ # TESTDIRS ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users." ++ MODULARIZED ++ # AUTHORS "John Maddock " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/detail/module.cmake boost-1.44.0-cmake/libs/detail/module.cmake +--- boost_1_44_0/libs/detail/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/detail/module.cmake 2010-08-22 00:03:38.485854878 +0200 +@@ -0,0 +1 @@ ++boost_module(detail DEPENDS integer) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/disjoint_sets/CMakeLists.txt boost-1.44.0-cmake/libs/disjoint_sets/CMakeLists.txt +--- boost_1_44_0/libs/disjoint_sets/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/disjoint_sets/CMakeLists.txt 2010-08-22 00:03:04.684854342 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ disjoint_sets ++ # SRCDIRS ++ TESTDIRS test ++# HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Provides disjoint sets operations with union by rank and path compression." ++ # MODULARIZED ++ AUTHORS "Jeremy Siek " ++ "Lie-Quan Lee" ++ "Andrew Lumsdaine" ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/disjoint_sets/module.cmake boost-1.44.0-cmake/libs/disjoint_sets/module.cmake +--- boost_1_44_0/libs/disjoint_sets/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/disjoint_sets/module.cmake 2010-08-22 00:03:04.698854621 +0200 +@@ -0,0 +1 @@ ++boost_module (disjoint_sets DEPENDS test graph) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/disjoint_sets/test/CMakeLists.txt boost-1.44.0-cmake/libs/disjoint_sets/test/CMakeLists.txt +--- boost_1_44_0/libs/disjoint_sets/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/disjoint_sets/test/CMakeLists.txt 2010-08-22 00:03:04.679854613 +0200 +@@ -0,0 +1,7 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_test_run(disjoint_set_test ../disjoint_set_test.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/dynamic_bitset/CMakeLists.txt boost-1.44.0-cmake/libs/dynamic_bitset/CMakeLists.txt +--- boost_1_44_0/libs/dynamic_bitset/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/dynamic_bitset/CMakeLists.txt 2010-08-22 00:04:23.568855172 +0200 +@@ -0,0 +1,30 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ dynamic_bitset.hpp ++ dynamic_bitset_fwd.hpp ++ dynamic_bitset ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ dynamic_bitset ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A runtime-sized version of std::bitset" ++ MODULARIZED ++ AUTHORS "Jeremy Siek " ++ "Chuck Allison" ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/dynamic_bitset/module.cmake boost-1.44.0-cmake/libs/dynamic_bitset/module.cmake +--- boost_1_44_0/libs/dynamic_bitset/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/dynamic_bitset/module.cmake 2010-08-22 00:04:23.575856387 +0200 +@@ -0,0 +1 @@ ++boost_module(dynamic_bitset DEPENDS detail static_assert) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/dynamic_bitset/test/CMakeLists.txt boost-1.44.0-cmake/libs/dynamic_bitset/test/CMakeLists.txt +--- boost_1_44_0/libs/dynamic_bitset/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/dynamic_bitset/test/CMakeLists.txt 2010-08-22 00:04:23.492855554 +0200 +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(dynamic_bitset BOOST_DEPENDS test config) ++ ++ ++boost_test_run(dyn_bitset_unit_tests1 ../dyn_bitset_unit_tests1.cpp) ++boost_test_run(dyn_bitset_unit_tests2 ../dyn_bitset_unit_tests2.cpp) ++boost_test_run(dyn_bitset_unit_tests3 ../dyn_bitset_unit_tests3.cpp) ++boost_test_run(dyn_bitset_unit_tests4 ../dyn_bitset_unit_tests4.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/exception/CMakeLists.txt boost-1.44.0-cmake/libs/exception/CMakeLists.txt +--- boost_1_44_0/libs/exception/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/exception/CMakeLists.txt 2010-08-22 00:03:22.111854400 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ exception.hpp ++ exception_ptr.hpp ++ exception ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ exception ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ DESCRIPTION "A library for transporting of arbitrary data in exception objects, and transporting of exceptions between threads." ++ MODULARIZED ++ AUTHORS "Emil Dotchevski " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/exception/module.cmake boost-1.44.0-cmake/libs/exception/module.cmake +--- boost_1_44_0/libs/exception/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/exception/module.cmake 2010-08-22 00:03:22.525855009 +0200 +@@ -0,0 +1 @@ ++boost_module(exception DEPENDS smart_ptr detail utility tuple) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/exception/test/CMakeLists.txt boost-1.44.0-cmake/libs/exception/test/CMakeLists.txt +--- boost_1_44_0/libs/exception/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/exception/test/CMakeLists.txt 2010-08-22 00:03:21.929854742 +0200 +@@ -0,0 +1,55 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(exception BOOST_DEPENDS test) ++ ++boost_test_run(is_output_streamable_test) ++boost_test_run(has_to_string_test) ++boost_test_run(to_string_test) ++boost_test_run(to_string_stub_test) ++boost_test_compile_fail(to_string_fail) ++ ++#exception ++ ++boost_test_run(1-throw_exception_test) ++boost_test_run(2-throw_exception_no_exceptions_test) ++boost_test_run(3-throw_exception_no_integration_test) ++boost_test_run(4-throw_exception_no_both_test) ++boost_test_run(cloning_test) ++boost_test_run(copy_exception_test) ++boost_test_run(unknown_exception_test) ++boost_test_run(exception_test) ++boost_test_run(enable_error_info_test enable_error_info_test.cpp helper1.cpp) ++boost_test_run(throw_exception_test throw_exception_test.cpp helper2.cpp) ++boost_test_run(errno_test) ++boost_test_run(error_info_test) ++boost_test_run(diagnostic_information_test) ++boost_test_run(refcount_ptr_test) ++boost_test_run(current_exception_cast_test) ++message(STATUS "!!!> run no_exceptions_test.cpp : : : off ;") ++ ++boost_test_compile_fail(exception_fail) ++boost_test_compile_fail(throw_exception_fail) ++ ++# Compile headers tests ++set (compile_tests ++ exception_ptr_hpp_test ++ diagnostic_information_hpp_test ++ error_info_hpp_test ++ exception_hpp_test ++ get_error_info_hpp_test ++ info_hpp_test ++ info_tuple_hpp_test ++ to_string_hpp_test ++ to_string_stub_hpp_test ++ current_exception_cast_hpp_test ++ ) ++ ++#-- Create a Compile test for each source ++foreach(test ${compile_tests}) ++ boost_test_compile(${test} "${test}.cpp") ++endforeach(test ${compile_tests}) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/filesystem/CMakeLists.txt boost-1.44.0-cmake/libs/filesystem/CMakeLists.txt +--- boost_1_44_0/libs/filesystem/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/filesystem/CMakeLists.txt 2010-08-22 00:03:30.668855582 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ filesystem.hpp ++ filesystem ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ filesystem ++ SRCDIRS v2/src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Provides portable facilities to query and manipulate paths, files, and directories." ++ MODULARIZED ++ AUTHORS "Beman Dawes " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/filesystem/module.cmake boost-1.44.0-cmake/libs/filesystem/module.cmake +--- boost_1_44_0/libs/filesystem/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/filesystem/module.cmake 2010-08-22 00:03:30.992854707 +0200 +@@ -0,0 +1 @@ ++boost_module(filesystem DEPENDS system smart_ptr) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/filesystem/test/CMakeLists.txt boost-1.44.0-cmake/libs/filesystem/test/CMakeLists.txt +--- boost_1_44_0/libs/filesystem/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/filesystem/test/CMakeLists.txt 2010-08-22 00:03:30.367854524 +0200 +@@ -0,0 +1,30 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(filesystem BOOST_DEPENDS test bind) ++ ++ ++ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_FILESYSTEM_STATIC_LINK) ++ ++SET(TESTS path_test operations_test ++ fstream_test convenience_test ++ large_file_support_test wide_test) ++ ++FOREACH(test ${TESTS}) ++ boost_test_run(${test}_static ++ ${test}.cpp ++ DEPENDS boost_filesystem STATIC ++ COMPILE_FLAGS -DBOOST_FILESYSTEM_STATIC_LINK) ++ boost_test_run(${test}_dynamic ++ ${test}.cpp ++ DEPENDS boost_filesystem SHARED ++ COMPILE_FLAGS -DBOOST_FILESYSTEM_DYN_LINK) ++ENDFOREACH(test ${TESTS}) ++ ++boost_test_compile(mbcopy ../example/mbcopy.cpp) ++boost_test_compile(mbpath ../example/mbpath.cpp) ++boost_test_compile(simple_ls ../example/simple_ls.cpp) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/filesystem/v2/src/CMakeLists.txt boost-1.44.0-cmake/libs/filesystem/v2/src/CMakeLists.txt +--- boost_1_44_0/libs/filesystem/v2/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/filesystem/v2/src/CMakeLists.txt 2010-08-22 00:03:30.607854998 +0200 +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library( ++ filesystem ++ v2_operations.cpp v2_path.cpp v2_portability.cpp ++ SHARED_COMPILE_FLAGS "-DBOOST_FILESYSTEM_DYN_LINK=1" ++ STATIC_COMPILE_FLAGS "-DBOOST_FILESYSTEM_STATIC_LINK=1" ++ DEPENDS boost_system ++ ) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/flyweight/CMakeLists.txt boost-1.44.0-cmake/libs/flyweight/CMakeLists.txt +--- boost_1_44_0/libs/flyweight/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/flyweight/CMakeLists.txt 2010-08-22 00:04:35.431854644 +0200 +@@ -0,0 +1,18 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# Add a library target to the build system ++boost_library_project( ++ flyweight ++ TESTDIRS test ++ HEADERS flyweight flyweight.hpp ++ # DOCDIRS ++ DESCRIPTION "Flyweights are small-sized handle classes granting constant access to shared common data, thus allowing for the management of large amounts of entities within reasonable memory limits. Boost.Flyweight makes it easy to use this common programming idiom by providing the class template flyweight, which acts as a drop-in replacement for const T." ++ MODULARIZED ++ AUTHORS "Joaqun M Lpez Muoz " ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/flyweight/module.cmake boost-1.44.0-cmake/libs/flyweight/module.cmake +--- boost_1_44_0/libs/flyweight/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/flyweight/module.cmake 2010-08-22 00:04:35.610854557 +0200 +@@ -0,0 +1 @@ ++boost_module(flyweight DEPENDS mpl parameter preprocessor interprocess type_traits) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/flyweight/test/CMakeLists.txt boost-1.44.0-cmake/libs/flyweight/test/CMakeLists.txt +--- boost_1_44_0/libs/flyweight/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/flyweight/test/CMakeLists.txt 2010-08-22 00:04:35.342910729 +0200 +@@ -0,0 +1,53 @@ ++# Boost.Flyweight tests Jamfile ++# ++# Copyright 2006-2008 Joaqun M Lpez Muoz. ++# Distributed under the Boost Software License, Version 1.0. ++# (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++# ++# See http://www.boost.org/libs/flyweight for library home page. ++ ++find_package(Threads) ++ ++macro(flyweight_test testname) ++ boost_test_run(${testname} ++ test_${testname}.cpp test_${testname}_main.cpp ++ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT}) ++endmacro() ++ ++foreach(test ++ basic ++ custom_factory ++ init ++ multictor ++ no_locking ++ no_tracking ++ set_factory) ++ ++ flyweight_test(${test}) ++ ++endforeach() ++ ++# ++# test_assoc_cont_fact_main is irregularly named ++# ++boost_test_run(assoc_cont_factory ++ test_assoc_cont_factory.cpp test_assoc_cont_fact_main.cpp ++ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT}) ++ ++# ++# this one involves a dll ++# ++boost_add_library(intermod_holder_dll ++ intermod_holder_dll.cpp ++ COMPILE_FLAGS "-DBOOST_FLYWEIGHT_TEST_INTERMOD_HOLDER_DLL_SOURCE=1" ++ NO_SINGLE_THREADED ++ NO_STATIC ++ NO_INSTALL ++ ) ++ ++boost_test_run(intermod_holder ++ test_intermod_holder.cpp test_intermod_holder_main.cpp ++ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT} ++ DEPENDS intermod_holder_dll) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/foreach/CMakeLists.txt boost-1.44.0-cmake/libs/foreach/CMakeLists.txt +--- boost_1_44_0/libs/foreach/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/foreach/CMakeLists.txt 2010-08-22 00:03:07.192854274 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ foreach.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ foreach ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/foreach/module.cmake boost-1.44.0-cmake/libs/foreach/module.cmake +--- boost_1_44_0/libs/foreach/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/foreach/module.cmake 2010-08-22 00:03:07.211854757 +0200 +@@ -0,0 +1 @@ ++boost_module(foreach DEPENDS range) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/foreach/test/CMakeLists.txt boost-1.44.0-cmake/libs/foreach/test/CMakeLists.txt +--- boost_1_44_0/libs/foreach/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/foreach/test/CMakeLists.txt 2010-08-22 00:03:07.171855135 +0200 +@@ -0,0 +1,40 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(foreach BOOST_DEPENDS test ) ++ ++set(TESTS ++stl_byval ++stl_byval_r ++stl_byref ++stl_byref_r ++array_byval ++array_byval_r ++array_byref ++array_byref_r ++cstr_byval ++cstr_byval_r ++cstr_byref ++cstr_byref_r ++pair_byval ++pair_byval_r ++pair_byref ++pair_byref_r ++user_defined ++call_once ++rvalue_const ++rvalue_const_r ++rvalue_nonconst ++rvalue_nonconst_r ++dependent_type ++misc) ++ ++foreach(test ${TESTS}) ++ boost_test_run(${test}) ++endforeach(test ${TESTS}) ++ ++boost_test_compile(noncopyable) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/format/CMakeLists.txt boost-1.44.0-cmake/libs/format/CMakeLists.txt +--- boost_1_44_0/libs/format/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/format/CMakeLists.txt 2010-08-22 00:03:46.557854652 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ format.hpp ++ format ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ format ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/format/module.cmake boost-1.44.0-cmake/libs/format/module.cmake +--- boost_1_44_0/libs/format/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/format/module.cmake 2010-08-22 00:03:46.576854736 +0200 +@@ -0,0 +1 @@ ++boost_module(format DEPENDS detail config optional) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/format/test/CMakeLists.txt boost-1.44.0-cmake/libs/format/test/CMakeLists.txt +--- boost_1_44_0/libs/format/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/format/test/CMakeLists.txt 2010-08-22 00:03:46.550940326 +0200 +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(format BOOST_DEPENDS test) ++ ++boost_test_run(format_test1 DEPENDS boost_test_exec_monitor) ++boost_test_run(format_test2 DEPENDS boost_test_exec_monitor) ++boost_test_run(format_test3 DEPENDS boost_test_exec_monitor) ++boost_test_run(format_test_wstring DEPENDS boost_test_exec_monitor) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/function/CMakeLists.txt boost-1.44.0-cmake/libs/function/CMakeLists.txt +--- boost_1_44_0/libs/function/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/function/CMakeLists.txt 2010-08-22 00:03:52.614979720 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ function.hpp ++ function ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ function ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/function/doc/CMakeLists.txt boost-1.44.0-cmake/libs/function/doc/CMakeLists.txt +--- boost_1_44_0/libs/function/doc/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/function/doc/CMakeLists.txt 2010-08-22 00:03:52.615855051 +0200 +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_documentation(function.xml ++ faq.xml history.xml misc.xml reference.xml tests.xml tutorial.xml) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/function/module.cmake boost-1.44.0-cmake/libs/function/module.cmake +--- boost_1_44_0/libs/function/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/function/module.cmake 2010-08-22 00:03:52.641979774 +0200 +@@ -0,0 +1 @@ ++boost_module(function DEPENDS detail preprocessor utility) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/function/test/CMakeLists.txt boost-1.44.0-cmake/libs/function/test/CMakeLists.txt +--- boost_1_44_0/libs/function/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/function/test/CMakeLists.txt 2010-08-22 00:03:52.552854921 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(function BOOST_DEPENDS test lambda) ++ ++ ++boost_test_run(lib_function_test function_test.cpp) ++boost_test_run(function_n_test) ++boost_test_run(allocator_test) ++boost_test_run(stateless_test) ++boost_test_run(lambda_test) ++boost_test_compile_fail(function_test_fail1) ++boost_test_compile_fail(function_test_fail2) ++boost_test_compile(function_30) ++boost_test_run(function_arith_cxx98) ++boost_test_run(function_arith_portable) ++boost_test_run(sum_avg_cxx98) ++boost_test_run(sum_avg_portable) ++boost_test_run(mem_fun_cxx98) ++boost_test_run(mem_fun_portable) ++boost_test_run(std_bind_cxx98) ++boost_test_run(std_bind_portable) ++boost_test_run(function_ref_cxx98) ++boost_test_run(function_ref_portable) ++boost_test_run(contains_test) ++boost_test_run(contains2_test) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/functional/CMakeLists.txt boost-1.44.0-cmake/libs/functional/CMakeLists.txt +--- boost_1_44_0/libs/functional/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/functional/CMakeLists.txt 2010-08-22 00:03:04.251165210 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ functional.hpp ++ functional ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ functional ++ # SRCDIRS ++ TESTDIRS test hash/test hash/examples ++ HEADERS ${lib_headers} ++ DOCDIRS hash/doc ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/functional/hash/doc/CMakeLists.txt boost-1.44.0-cmake/libs/functional/hash/doc/CMakeLists.txt +--- boost_1_44_0/libs/functional/hash/doc/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/functional/hash/doc/CMakeLists.txt 2010-08-22 00:03:04.390855922 +0200 +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++message(STATUS "functional/hash docs need love") ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/functional/hash/examples/CMakeLists.txt boost-1.44.0-cmake/libs/functional/hash/examples/CMakeLists.txt +--- boost_1_44_0/libs/functional/hash/examples/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/functional/hash/examples/CMakeLists.txt 2010-08-22 00:03:04.407855381 +0200 +@@ -0,0 +1,15 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#------------------------------------------------------------------------- ++#-- Needed include directories for the tests ++boost_additional_test_dependencies(config BOOST_DEPENDS test) ++#------------------------------------------------------------------------- ++boost_test_run(books) ++boost_test_run(point) ++boost_test_run(portable) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/functional/hash/test/CMakeLists.txt boost-1.44.0-cmake/libs/functional/hash/test/CMakeLists.txt +--- boost_1_44_0/libs/functional/hash/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/functional/hash/test/CMakeLists.txt 2010-08-22 00:03:04.309980286 +0200 +@@ -0,0 +1,58 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#project hash-tests ++# : requirements ++# gcc:_GLIBCXX_DEBUG ++# ; ++if (GCC) ++ ADD_DEFINITIONS(-D_GLIBCXX_DEBUG) ++endif(GCC) ++ ++# [ run .cpp : : : always_show_run_output ] ++ ++ ++ ++#------------------------------------------------------------------------- ++#-- Needed include directories for the tests ++ boost_additional_test_dependencies(functional BOOST_DEPENDS test) ++#------------------------------------------------------------------------- ++ ++SET(tests ++hash_fwd_test_1 ++hash_fwd_test_2 ++hash_number_test ++hash_pointer_test ++hash_function_pointer_test ++hash_float_test ++hash_long_double_test ++hash_string_test ++hash_range_test ++hash_custom_test ++hash_global_namespace_test ++hash_friend_test ++hash_built_in_array_test ++hash_value_array_test ++hash_vector_test ++hash_list_test ++hash_deque_test ++hash_set_test ++hash_map_test ++hash_complex_test ++container_fwd_test ++hash_no_ext_macro_1 ++hash_no_ext_macro_2 ++) ++ ++boost_test_run(link_test link_test.cpp link_test_2.cpp) ++boost_test_run(link_ext_test link_ext_test.cpp link_no_ext_test.cpp ++) ++foreach(test ${tests}) ++ boost_test_run(${test}) ++endforeach(test ${tests}) ++ ++boost_test_compile_fail(hash_no_ext_fail_test) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/functional/module.cmake boost-1.44.0-cmake/libs/functional/module.cmake +--- boost_1_44_0/libs/functional/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/functional/module.cmake 2010-08-22 00:03:04.278980630 +0200 +@@ -0,0 +1 @@ ++boost_module(functional DEPENDS integer) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/functional/test/CMakeLists.txt boost-1.44.0-cmake/libs/functional/test/CMakeLists.txt +--- boost_1_44_0/libs/functional/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/functional/test/CMakeLists.txt 2010-08-22 00:03:04.223866613 +0200 +@@ -0,0 +1,7 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_test_run(function_test function_test.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/function_types/CMakeLists.txt boost-1.44.0-cmake/libs/function_types/CMakeLists.txt +--- boost_1_44_0/libs/function_types/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/function_types/CMakeLists.txt 2010-08-22 00:03:38.850863115 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ function_types ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ function_types ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/function_types/module.cmake boost-1.44.0-cmake/libs/function_types/module.cmake +--- boost_1_44_0/libs/function_types/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/function_types/module.cmake 2010-08-22 00:03:38.891854801 +0200 +@@ -0,0 +1 @@ ++boost_module(function_types DEPENDS mpl detail) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/function_types/test/CMakeLists.txt boost-1.44.0-cmake/libs/function_types/test/CMakeLists.txt +--- boost_1_44_0/libs/function_types/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/function_types/test/CMakeLists.txt 2010-08-22 00:03:38.838855023 +0200 +@@ -0,0 +1,76 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# Get the boost dependencies for the tests ++boost_additional_test_dependencies(function_types BOOST_DEPENDS test fusion) ++ ++boost_test_compile(is_function classification/is_function.cpp) ++boost_test_compile(is_function_pointer classification/is_function_pointer.cpp) ++boost_test_compile(is_function_reference classification/is_function_reference.cpp) ++boost_test_compile(is_member_function_pointer classification/is_member_function_pointer.cpp) ++boost_test_compile(is_member_object_pointer classification/is_member_object_pointer.cpp) ++boost_test_compile(is_callable_builtin classification/is_callable_builtin.cpp) ++boost_test_compile(is_nonmember_callable_builtin classification/is_nonmember_callable_builtin.cpp) ++boost_test_compile(is_member_pointer classification/is_member_pointer.cpp) ++ ++boost_test_compile(is_cv_mem_func_ptr classification/is_cv_mem_func_ptr.cpp) ++boost_test_compile(is_variadic classification/is_variadic.cpp) ++boost_test_compile(is_cv_pointer classification/is_cv_pointer.cpp) ++ # [ compile classification/is_cv_function.cpp) ++ ++# Decomposition ++ ++boost_test_compile(components decomposition/components.cpp) ++boost_test_compile(result_type decomposition/result_type.cpp) ++boost_test_compile(function_arity decomposition/function_arity.cpp) ++boost_test_compile(parameter_types decomposition/parameter_types.cpp) ++ ++boost_test_compile(components_seq decomposition/components_seq.cpp) ++boost_test_compile(class_type_transform decomposition/class_type_transform.cpp) ++ ++boost_test_compile_fail(result_type_fail decomposition/result_type_fail.cpp) ++boost_test_compile_fail(parameter_types_fail decomposition/parameter_types_fail.cpp) ++boost_test_compile_fail(function_arity_fail decomposition/function_arity_fail.cpp) ++ ++# Synthesis ++ ++boost_test_compile(function_type synthesis/function_type.cpp) ++boost_test_compile(function_pointer synthesis/function_pointer.cpp) ++boost_test_compile(function_reference synthesis/function_reference.cpp) ++boost_test_compile(member_function_pointer synthesis/member_function_pointer.cpp) ++boost_test_compile(member_object_pointer synthesis/member_object_pointer.cpp) ++ ++boost_test_compile(transformation synthesis/transformation.cpp) ++boost_test_compile(mem_func_ptr_cv1 synthesis/mem_func_ptr_cv1.cpp) ++boost_test_compile(mem_func_ptr_cv2 synthesis/mem_func_ptr_cv2.cpp) ++boost_test_compile(mem_func_ptr_cv_ptr_to_this synthesis/mem_func_ptr_cv_ptr_to_this.cpp) ++boost_test_compile(variadic_function_synthesis synthesis/variadic_function_synthesis.cpp) ++ # [ compile synthesis/cv_function_synthesis.cpp) ++ ++# Reconfiguration ++ ++boost_test_compile(preprocessing_mode reconfiguration/preprocessing_mode.cpp) ++boost_test_compile(partial_arity_preprocessing reconfiguration/partial_arity_preprocessing.cpp) ++boost_test_compile(cc_preprocessing reconfiguration/cc_preprocessing.cpp) ++ ++# Custom calling conventions ++boost_test_compile(nonmember_ccs custom_ccs/nonmember_ccs.cpp) ++boost_test_compile(nonmember_ccs_exact custom_ccs/nonmember_ccs_exact.cpp) ++message(STATUS "Function_Types/test/custom_ccs/member_ccs.cpp Needs love") ++#boost_test_compile(member_ccs custom_ccs/member_ccs.cpp) ++message(STATUS "Function_Types/test/custom_ccs/member_ccs_exact.cpp Needs love") ++#boost_test_compile(member_ccs_exact custom_ccs/member_ccs_exact.cpp) ++ ++ ++# Code from the examples ++# Include the "example" directory ++include_directories("${CMAKE_CURRENT_SOURCE_DIR}/example") ++boost_test_compile(interpreter_example ../example/interpreter_example.cpp) ++boost_test_compile(result_of_example ../example/result_of_example.cpp) ++boost_test_compile(interface_example ../example/interface_example.cpp) ++message(STATUS "Function_Types/example/fast_mem_fn_example.cpp Needs love") ++#boost_test_compile(fast_mem_fn_example ../example/fast_mem_fn_example.cpp) ++boost_test_compile(macro_type_args_example ../example/macro_type_args_example.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/fusion/CMakeLists.txt boost-1.44.0-cmake/libs/fusion/CMakeLists.txt +--- boost_1_44_0/libs/fusion/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/fusion/CMakeLists.txt 2010-08-22 00:03:29.188854407 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ fusion ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ fusion ++ # SRCDIRS ++ # TESTDIRS ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Library for working with tuples, including various containers, algorithms, etc." ++ MODULARIZED ++ AUTHORS "Joel de Guzman " ++ "Dan Marsden " ++ "Tobias Schwinger " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/fusion/module.cmake boost-1.44.0-cmake/libs/fusion/module.cmake +--- boost_1_44_0/libs/fusion/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/fusion/module.cmake 2010-08-22 00:03:30.359856124 +0200 +@@ -0,0 +1 @@ ++boost_module (fusion DEPENDS function_types) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/gil/CMakeLists.txt boost-1.44.0-cmake/libs/gil/CMakeLists.txt +--- boost_1_44_0/libs/gil/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/gil/CMakeLists.txt 2010-08-22 00:02:57.932854539 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ gil ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ gil ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Generic Image Library" ++ MODULARIZED ++ AUTHORS "Lubomir Bourdev " ++ "Hailin Jin " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/gil/module.cmake boost-1.44.0-cmake/libs/gil/module.cmake +--- boost_1_44_0/libs/gil/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/gil/module.cmake 2010-08-22 00:03:02.336123206 +0200 +@@ -0,0 +1 @@ ++boost_module (gil DEPENDS type_traits mpl) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/gil/test/CMakeLists.txt boost-1.44.0-cmake/libs/gil/test/CMakeLists.txt +--- boost_1_44_0/libs/gil/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/gil/test/CMakeLists.txt 2010-08-22 00:02:57.902856169 +0200 +@@ -0,0 +1,16 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(gil BOOST_DEPENDS test lambda crc) ++ ++ ++add_definitions(-DBOOST_GIL_NO_IO -D_SCL_SECURE_NO_WARNINGS) ++boost_test_run(channel channel.cpp error_if.cpp) ++boost_test_run(image image.cpp sample_image.cpp error_if.cpp ++ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/gil_reference_checksums.txt) ++boost_test_run(image_io image_io.cpp error_if.cpp) ++boost_test_run(pixel pixel.cpp error_if.cpp) ++boost_test_run(pixel_iterator pixel_iterator.cpp error_if.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/graph/CMakeLists.txt boost-1.44.0-cmake/libs/graph/CMakeLists.txt +--- boost_1_44_0/libs/graph/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/graph/CMakeLists.txt 2010-08-22 00:04:18.489670567 +0200 +@@ -0,0 +1,24 @@ ++# Copyright (C) 2008 Michael Jackson ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++ ++# Add a library target to the build system ++boost_library_project( ++ graph ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS graph ++ # DOCDIRS ++ DESCRIPTION "The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL)." ++ MODULARIZED ++ AUTHORS "Jeremy Siek " ++ "Lie-Quan Lee" ++ "Andrew Lumsdaine" ++ "Douglas Gregor " ++ # MAINTAINERS ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/graph/module.cmake boost-1.44.0-cmake/libs/graph/module.cmake +--- boost_1_44_0/libs/graph/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/graph/module.cmake 2010-08-22 00:04:19.640855914 +0200 +@@ -0,0 +1,4 @@ ++boost_module(graph DEPENDS property_map tuple multi_index any random parameter regex) ++boost_module(graph_mpi DEPENDS mpi graph) ++ ++# any is there because of the dependency on boost/property_map/dynamic_property_map.hpp +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/graph/src/CMakeLists.txt boost-1.44.0-cmake/libs/graph/src/CMakeLists.txt +--- boost_1_44_0/libs/graph/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/graph/src/CMakeLists.txt 2010-08-22 00:04:18.472854012 +0200 +@@ -0,0 +1,38 @@ ++# Copyright (C) 2008 Michael Jackson ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++add_definitions(-DBOOST_GRAPH_NO_LIB=1) ++ ++if (MSVC) ++ # Without these flags, MSVC 7.1 and 8.0 crash ++ add_definitions(-GR-) ++endif (MSVC) ++ ++set(BOOST_GRAPH_OPTIONAL_SOURCES "") ++set(BOOST_GRAPH_OPTIONAL_LIBRARIES "") ++ ++if (EXPAT_FOUND) ++ colormsg(GREEN "+-- expat available, enabling the GraphML parser.") ++ # We have Expat, so build the GraphML parser ++ set(BOOST_GRAPH_OPTIONAL_SOURCES ++ ${BOOST_GRAPH_OPTIONAL_SOURCES} "graphml.cpp") ++ include_directories(${EXPAT_INCLUDE_DIRS}) ++ list(APPEND BOOST_GRAPH_OPTIONAL_LIBRARIES ${EXPAT_LIBRARIES}) ++endif (EXPAT_FOUND) ++ ++boost_add_library(graph ++ ++ read_graphviz_new.cpp ++ ${BOOST_GRAPH_OPTIONAL_SOURCES} ++ ++ NO_STATIC ++ # don't build static, as there might not be a static regex ++ # if ICU is found. Fix this. ++ DEPENDS boost_regex ++ LINK_LIBS ${BOOST_GRAPH_OPTIONAL_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_GRAPH_DYN_LINK=1" ++ ) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/graph/test/CMakeLists.txt boost-1.44.0-cmake/libs/graph/test/CMakeLists.txt +--- boost_1_44_0/libs/graph/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/graph/test/CMakeLists.txt 2010-08-22 00:04:18.180467787 +0200 +@@ -0,0 +1,71 @@ ++# Copyright (C) 2008 Michael Jackson ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++boost_additional_test_dependencies(graph BOOST_DEPENDS test assign) ++ ++boost_test_run(transitive_closure_test) ++boost_test_compile(adj_list_cc) ++boost_test_run(adj_list_edge_list_set) ++boost_test_compile(adj_matrix_cc) ++boost_test_run(bfs) ++boost_test_compile(bfs_cc) ++boost_test_run(bellman-test) ++boost_test_run(betweenness_centrality_test DEPENDS boost_graph SHARED) ++boost_test_run(csr_graph_test) ++boost_test_run(dag_longest_paths) ++boost_test_run(dfs) ++boost_test_compile(dfs_cc) ++boost_test_compile(dijkstra_cc) ++boost_test_run(dijkstra_heap_performance ARGS 10000 DEPENDS boost_graph SHARED) ++boost_test_run(dominator_tree_test) ++boost_test_run(relaxed_heap_test ARGS 5000 15000) ++boost_test_compile(edge_list_cc) ++boost_test_compile(filtered_graph_cc) ++boost_test_run(generator_test) ++boost_test_run(graph) ++boost_test_compile(graph_concepts) ++boost_test_run(graphviz_test ++ DEPENDS boost_test_exec_monitor boost_graph STATIC) ++boost_test_run(gursoy_atun_layout_test) ++boost_test_run(layout_test) ++boost_test_run(serialize DEPENDS boost_serialization) ++boost_test_compile(reverse_graph_cc) ++boost_test_run(sequential_vertex_coloring) ++boost_test_run(subgraph) ++boost_test_run(isomorphism) ++boost_test_run(adjacency_matrix_test) ++boost_test_compile(vector_graph_cc) ++boost_test_compile(copy) ++boost_test_compile(property_iter) ++boost_test_run(bundled_properties) ++boost_test_run(floyd_warshall_test) ++boost_test_run(astar_search_test) ++boost_test_run(biconnected_components_test) ++boost_test_run(cuthill_mckee_ordering) ++boost_test_run(king_ordering) ++boost_test_run(matching_test) ++boost_test_run(mcgregor_subgraphs_test) ++# boost_test_run(max_flow_test) ++# boost_test_run(kolmogorov_max_flow_test) TODO: Boost 1.34.x only ++ ++# GraphML Tests - not for Boost 1.34.x ++#include(FindEXPAT) ++#if (EXPAT_FOUND) ++# include_directories(${EXPAT_INCLUDE_DIRS}) ++# boost_test_run(graphml_test LIBRARIES boost_graph) ++#endif (EXPAT_FOUND) ++ ++# Stanford GraphBase Tests ++if ($ENV{SDB}) ++ include_directories("$ENV{SDB}") ++ boost_test_compile(stanford_graph_cc) ++endif ($ENV{SDB}) ++ ++# LEDA tests ++if ($ENV{LEDA}) ++ include_directories("$ENV{LEDA}/incl") ++ boost_test_compile(leda_graph_cc) ++endif ($ENV{LEDA}) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/graph_parallel/CMakeLists.txt boost-1.44.0-cmake/libs/graph_parallel/CMakeLists.txt +--- boost_1_44_0/libs/graph_parallel/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/graph_parallel/CMakeLists.txt 2010-08-22 00:04:33.231854241 +0200 +@@ -0,0 +1,25 @@ ++# Copyright (C) 2008 The Trustees of Indiana University. ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++if (NOT MPI_FOUND) ++ message(STATUS "+-- MPI not found, disabling.") ++else() ++ ++ boost_library_project( ++ graph_parallel ++ SRCDIRS src ++ TESTDIRS test example ++ # HEADERS graph graph/parallel ++ # DOCDIRS doc ++ DESCRIPTION "Parallel support using MPI for Boost.Graph." ++ AUTHORS "Douglas Gregor " ++ "Nicholas Edmonds " ++ "Jeremiah Willcock " ++ "Andrew Lumsdaine" ++ # MAINTAINERS ++ ) ++ ++endif() +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/graph_parallel/doc/CMakeLists.txt boost-1.44.0-cmake/libs/graph_parallel/doc/CMakeLists.txt +--- boost_1_44_0/libs/graph_parallel/doc/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/graph_parallel/doc/CMakeLists.txt 2010-08-22 00:04:33.481854840 +0200 +@@ -0,0 +1,70 @@ ++# Copyright (C) 2008 The Trustees of Indiana University. ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++set(PBGL_DOCS ++ DistributedGraph ++ DistributedEdgeListGraph ++ DistributedVertexListGraph ++ GlobalDescriptor ++ boman_et_al_graph_coloring ++ breadth_first_search ++ connected_components ++ dehne_gotz_min_spanning_tree ++ dijkstra_example ++ dijkstra_shortest_paths ++ distributed_adjacency_list ++ distributed_property_map ++ distributed_queue ++ distributedS ++ index ++ local_subgraph ++ metis ++ overview ++ page_rank ++ process_group ++ mpi_bsp_process_group ++ simple_trigger ++ strong_components ++ tsin_depth_first_visit ++ vertex_list_adaptor ++ rmat_generator ++ sorted_rmat_generator ++ unique_rmat_generator ++ sorted_unique_rmat_generator ++ scalable_rmat_generator ++ mesh_generator ++ ssca_generator ++ fruchterman_reingold ++ st_connected ++ betweenness_centrality ++ connected_components_parallel_search ++ ) ++ ++set(PBGL_IMAGES ++ dijkstra_dist3_graph.png dijkstra_seq_graph.png vertex_coloring.png ++ architecture.png dist-adjlist.png dist-pmap.png distributed-graph.png ++ graph.png) ++ ++set(PBGL_DOC_TARGETS) ++separate_arguments(RST2HTML_FLAGS) ++foreach(DOC ${PBGL_DOCS}) ++ add_custom_command(OUTPUT "${PBGL_BINARY_DIR}/libs/graph_parallel/doc/${DOC}.html" ++ COMMAND "${RST2HTML}" ++ ARGS ${RST2HTML_FLAGS} "${PBGL_SOURCE_DIR}/libs/graph_parallel/doc/${DOC}.rst" ++ "${PBGL_BINARY_DIR}/libs/graph/doc/parallel/${DOC}.html" ++ COMMENT "Generating document ${DOC}.html..." ++ ) ++ list(APPEND PBGL_DOC_TARGETS "${PBGL_BINARY_DIR}/libs/graph_parallel/doc/${DOC}.html") ++endforeach(DOC) ++ ++add_custom_target(doc ALL ++ DEPENDS ${PBGL_DOC_TARGETS}) ++ ++install(FILES ${PBGL_DOC_TARGETS} ${PBGL_IMAGES} ++ DESTINATION "doc/pbgl-${PBGL_VERSION}" ++ COMPONENT "Documentation" ++ OPTIONAL ++ ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/graph_parallel/example/CMakeLists.txt boost-1.44.0-cmake/libs/graph_parallel/example/CMakeLists.txt +--- boost_1_44_0/libs/graph_parallel/example/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/graph_parallel/example/CMakeLists.txt 2010-08-22 00:04:32.887854233 +0200 +@@ -0,0 +1,59 @@ ++# Copyright (C) 2008 The Trustees of Indiana University. ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++if (MPI_FOUND) ++ ++ boost_additional_test_dependencies(graph_parallel BOOST_DEPENDS test mpi filesystem system) ++ ++ include_directories(${MPI_INCLUDE_PATH}) ++ ++ macro(boost_graph_parallel_example testname) ++ PARSE_ARGUMENTS(MPI_EXAMPLE "NUMPROCS;ARGS" "" ${ARGN}) ++ ++ # Determine the example sources ++ if (MPI_EXAMPLE_DEFAULT_ARGS) ++ set(MPI_EXAMPLE_SOURCES ${MPI_EXAMPLE_DEFAULT_ARGS}) ++ else (MPI_EXAMPLE_DEFAULT_ARGS) ++ set(MPI_EXAMPLE_SOURCES "${testname}.cpp") ++ endif (MPI_EXAMPLE_DEFAULT_ARGS) ++ ++ set(THIS_EXAMPLE_LOCATION tests/${BOOST_PROJECT_NAME}/${testname}) ++ ++ # Build the example executable ++ boost_add_executable(${testname} ++ ${MPI_EXAMPLE_SOURCES} ++ OUTPUT_NAME ${THIS_EXAMPLE_LOCATION} ++ NO_INSTALL ++ DEPENDS boost_graph_parallel boost_system ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1") ++ ++ if (BUILD_TESTING) ++ ++ if (NOT MPI_EXAMPLE_NUMPROCS) ++ set(MPI_EXAMPLE_NUMPROCS ${MPIEXEC_MAX_NUMPROCS}) ++ endif (NOT MPI_EXAMPLE_NUMPROCS) ++ ++ foreach(PROCS ${MPI_EXAMPLE_NUMPROCS}) ++ add_test("${BOOST_PROJECT_NAME}-${testname}-${PROCS}" ++ ${MPIEXEC} ++ -n ${PROCS} ++ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${THIS_EXAMPLE_LOCATION} ++ ${MPI_EXAMPLE_ARGS} ++ ${BOOST_TEST_ARGS} ++ ) ++ endforeach(PROCS) ++ ++ endif(BUILD_TESTING) ++ ++ endmacro(boost_graph_parallel_example) ++ ++ boost_graph_parallel_example(breadth_first_search ARGS ${Boost_SOURCE_DIR}/libs/graph/test/weighted_graph.gr) ++ boost_graph_parallel_example(dijkstra_shortest_paths ARGS ${Boost_SOURCE_DIR}/libs/graph/test/weighted_graph.gr) ++ ++endif (MPI_FOUND) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/graph_parallel/module.cmake boost-1.44.0-cmake/libs/graph_parallel/module.cmake +--- boost_1_44_0/libs/graph_parallel/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/graph_parallel/module.cmake 2010-08-22 00:04:34.335979599 +0200 +@@ -0,0 +1 @@ ++boost_module(graph_parallel DEPENDS mpi graph) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/graph_parallel/src/CMakeLists.txt boost-1.44.0-cmake/libs/graph_parallel/src/CMakeLists.txt +--- boost_1_44_0/libs/graph_parallel/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/graph_parallel/src/CMakeLists.txt 2010-08-22 00:04:33.183855114 +0200 +@@ -0,0 +1,22 @@ ++# Copyright (C) 2008 The Trustees of Indiana University. ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++add_definitions(-DBOOST_GRAPH_NO_LIB=1) ++ ++if (MSVC) ++ # Without these flags, MSVC 7.1 and 8.0 crash ++ add_definitions(-GR-) ++endif (MSVC) ++ ++# Add Boost.MPI link and add parallel source files ++include_directories(${MPI_INCLUDE_PATH}) ++ ++boost_add_library( ++ graph_parallel ++ mpi_process_group.cpp tag_allocator.cpp ++ DEPENDS boost_mpi ++ SHARED_COMPILE_FLAGS "-DBOOST_GRAPH_DYN_LINK=1" ++ ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/graph_parallel/test/CMakeLists.txt boost-1.44.0-cmake/libs/graph_parallel/test/CMakeLists.txt +--- boost_1_44_0/libs/graph_parallel/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/graph_parallel/test/CMakeLists.txt 2010-08-22 00:04:32.964979408 +0200 +@@ -0,0 +1,121 @@ ++# Copyright (C) 2008 The Trustees of Indiana University. ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++if (MPI_FOUND) ++ ++ boost_additional_test_dependencies(graph_parallel BOOST_DEPENDS test mpi filesystem system) ++ ++ include_directories(${MPI_INCLUDE_PATH}) ++ ++ # Declare a test for the Boost.MPI library, which may involve both ++ # building the test and executing it with varying numbers of ++ # processes. Edited to become boost_graph_parallel_test, with a different ++ # default number of processors. ++ # ++ # boost_graph_parallel_test(testname ++ # [source1 source2 ...] ++ # [ARGS arg1 arg2 ...] ++ # [SCHEDULE procs1 procs2 ...] ++ # ++ # testname is the name of the test. source1, source2, etc. are the ++ # source files that will be built and linked into the test ++ # executable. If no source files are provided, the file "testname.cpp" ++ # will be used instead. ++ macro(boost_graph_parallel_test testname) ++ PARSE_ARGUMENTS(MPI_TEST "NUMPROCS;ARGS" "" ${ARGN}) ++ ++ # Determine the test sources ++ if (MPI_TEST_DEFAULT_ARGS) ++ set(MPI_TEST_SOURCES ${MPI_TEST_DEFAULT_ARGS}) ++ else (MPI_TEST_DEFAULT_ARGS) ++ set(MPI_TEST_SOURCES "${testname}.cpp") ++ endif (MPI_TEST_DEFAULT_ARGS) ++ ++ set(THIS_TEST_LOCATION tests/${BOOST_PROJECT_NAME}/${testname}) ++ ++ # Build the test executable ++ boost_add_executable(${testname} ++ ${MPI_TEST_SOURCES} ++ OUTPUT_NAME ${THIS_TEST_LOCATION} ++ NO_INSTALL ++ DEPENDS boost_graph_parallel boost_system ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1") ++ ++ if (NOT MPI_TEST_NUMPROCS) ++ set(MPI_TEST_NUMPROCS ${MPIEXEC_MAX_NUMPROCS}) ++ endif (NOT MPI_TEST_NUMPROCS) ++ ++ foreach(PROCS ${MPI_TEST_NUMPROCS}) ++ add_test("${BOOST_PROJECT_NAME}-${testname}-${PROCS}" ++ ${MPIEXEC} ++ -n ${PROCS} ++ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${THIS_TEST_LOCATION} ++ ${MPI_TEST_ARGS} ++ ${BOOST_TEST_ARGS} ++ ) ++ endforeach(PROCS) ++ ++ endmacro(boost_graph_parallel_test) ++ ++ boost_graph_parallel_test(distributed_property_map_test) ++ boost_graph_parallel_test(distributed_queue_test) ++ boost_graph_parallel_test(process_group_serialization) ++ boost_graph_parallel_test(adjlist_build_test) ++ boost_graph_parallel_test(adjlist_redist_test) ++ boost_graph_parallel_test(adjlist_remove_test NUMPROCS 2) ++ boost_graph_parallel_test(distributed_adjacency_list_test) ++ boost_graph_parallel_test(distributed_connected_components_test) ++ boost_graph_parallel_test(distributed_page_rank_test) ++ boost_graph_parallel_test(distributed_csr_test) ++ boost_graph_parallel_test(distributed_dfs_test) ++ boost_graph_parallel_test(distributed_graph_coloring_test) ++ boost_graph_parallel_test(distributed_mst_test) ++ boost_graph_parallel_test(distributed_strong_components_test) ++ boost_graph_parallel_test(hohberg_biconnected_components_test) ++ boost_graph_parallel_test(mesh_generator_test ARGS 1000 1000 1 0) ++ boost_graph_parallel_test(named_vertices_seq NUMPROCS 1) ++ boost_graph_parallel_test(distributed_shortest_paths_test) ++ boost_graph_parallel_test(distributed_csr_algorithm_test NUMPROCS 1) ++ boost_graph_parallel_test(distributed_betweenness_centrality_test) ++ boost_graph_parallel_test(distributed_dimacs_reader) ++ boost_graph_parallel_test(distributed_rmat_cc_ps) ++ boost_graph_parallel_test(distributed_rmat_cc) ++ boost_graph_parallel_test(distributed_rmat_pagerank) ++ boost_graph_parallel_test(distributed_st_connected_test) ++ ++ boost_add_executable(ssca ++ ssca.cpp ++ OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/ssca ++ NO_INSTALL ++ DEPENDS boost_graph_parallel boost_system ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1") ++ ++ boost_add_executable(algorithm_performance ++ algorithm_performance.cpp ++ OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/algorithm_performance ++ NO_INSTALL ++ DEPENDS boost_graph_parallel boost_system ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1") ++ ++ if(NOT MSVC) ++ # Due to poor handling of partial ordering of class template partial ++ # specializations, we disable these features and tests on Visual C++. ++ # Tested with Visual C++ 9 (Microsoft Visual Studio 2008); earlier ++ # versions are no better. ++ boost_graph_parallel_test(named_vertices_test) ++ boost_graph_parallel_test(named_vertices_hash_test) ++ endif(NOT MSVC) ++ ++endif(MPI_FOUND) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/integer/CMakeLists.txt boost-1.44.0-cmake/libs/integer/CMakeLists.txt +--- boost_1_44_0/libs/integer/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/integer/CMakeLists.txt 2010-08-22 00:03:36.004978772 +0200 +@@ -0,0 +1,31 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ integer.hpp ++ integer_fwd.hpp ++ integer_traits.hpp ++ integer ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ integer ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "The organization of boost integer headers and classes is designed to take advantage of types from the 1999 C standard without resorting to undefined behavior in terms of the 1998 C++ standard. The header makes the standard integer types safely available in namespace boost without placing any names in namespace std." ++ MODULARIZED ++ AUTHORS "Beman Dawes " ++ "Daryle Walker " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/integer/module.cmake boost-1.44.0-cmake/libs/integer/module.cmake +--- boost_1_44_0/libs/integer/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/integer/module.cmake 2010-08-22 00:03:36.058854547 +0200 +@@ -0,0 +1 @@ ++boost_module(integer DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/integer/test/CMakeLists.txt boost-1.44.0-cmake/libs/integer/test/CMakeLists.txt +--- boost_1_44_0/libs/integer/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/integer/test/CMakeLists.txt 2010-08-22 00:03:35.953979635 +0200 +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(integer BOOST_DEPENDS test) ++ ++boost_test_run(cstdint_test cstdint_test.cpp) ++boost_test_run(integer_mask_test integer_mask_test.cpp DEPENDS boost_test_exec_monitor) ++boost_test_run(integer_test integer_test.cpp DEPENDS boost_test_exec_monitor) ++boost_test_run(integer_traits_test integer_traits_test.cpp DEPENDS boost_test_exec_monitor) ++boost_test_run(static_log2_test static_log2_test.cpp DEPENDS boost_test_exec_monitor) ++boost_test_run(static_min_max_test static_min_max_test.cpp DEPENDS boost_test_exec_monitor) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/interprocess/CMakeLists.txt boost-1.44.0-cmake/libs/interprocess/CMakeLists.txt +--- boost_1_44_0/libs/interprocess/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/interprocess/CMakeLists.txt 2010-08-22 00:03:03.588298138 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ interprocess ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ interprocess ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators." ++ MODULARIZED ++ AUTHORS "Ion Gaztanaga " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/interprocess/module.cmake boost-1.44.0-cmake/libs/interprocess/module.cmake +--- boost_1_44_0/libs/interprocess/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/interprocess/module.cmake 2010-08-22 00:03:03.740980132 +0200 +@@ -0,0 +1 @@ ++boost_module(interprocess DEPENDS date_time intrusive math) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/interprocess/test/CMakeLists.txt boost-1.44.0-cmake/libs/interprocess/test/CMakeLists.txt +--- boost_1_44_0/libs/interprocess/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/interprocess/test/CMakeLists.txt 2010-08-22 00:03:03.490854530 +0200 +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(interprocess BOOST_DEPENDS test thread date_time multi_index) ++ ++ ++file(GLOB INTERPROCESS_TESTS *.cpp) ++foreach(TEST ${INTERPROCESS_TESTS}) ++ get_filename_component(TEST ${TEST} NAME_WE) ++ boost_test_run(${TEST} DEPENDS boost_thread MULTI_THREADED) ++endforeach() +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/intrusive/CMakeLists.txt boost-1.44.0-cmake/libs/intrusive/CMakeLists.txt +--- boost_1_44_0/libs/intrusive/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/intrusive/CMakeLists.txt 2010-08-22 00:03:31.794854581 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ intrusive_ptr.hpp ++ intrusive ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ intrusive ++ # SRCDIRS ++ # TESTDIRS ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/intrusive/module.cmake boost-1.44.0-cmake/libs/intrusive/module.cmake +--- boost_1_44_0/libs/intrusive/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/intrusive/module.cmake 2010-08-22 00:03:31.907854951 +0200 +@@ -0,0 +1 @@ ++boost_module(intrusive DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/io/CMakeLists.txt boost-1.44.0-cmake/libs/io/CMakeLists.txt +--- boost_1_44_0/libs/io/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/io/CMakeLists.txt 2010-08-22 00:03:37.616854563 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ io_fwd.hpp ++ io ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ io ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/io/module.cmake boost-1.44.0-cmake/libs/io/module.cmake +--- boost_1_44_0/libs/io/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/io/module.cmake 2010-08-22 00:03:37.633856525 +0200 +@@ -0,0 +1 @@ ++boost_module(io DEPENDS detail) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/io/test/CMakeLists.txt boost-1.44.0-cmake/libs/io/test/CMakeLists.txt +--- boost_1_44_0/libs/io/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/io/test/CMakeLists.txt 2010-08-22 00:03:37.616854563 +0200 +@@ -0,0 +1,12 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(io BOOST_DEPENDS test) ++ ++ ++boost_test_run(ios_state_unit_test DEPENDS boost_unit_test_framework) ++boost_test_run(ios_state_test DEPENDS boost_test_exec_monitor) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/iostreams/CMakeLists.txt boost-1.44.0-cmake/libs/iostreams/CMakeLists.txt +--- boost_1_44_0/libs/iostreams/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/iostreams/CMakeLists.txt 2010-08-22 00:03:23.077057816 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ iostreams ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ iostreams ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Framework for defining streams, stream buffers and i/o filters" ++ MODULARIZED ++ AUTHORS "Jonathan Turkanis " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/iostreams/example/CMakeLists.txt boost-1.44.0-cmake/libs/iostreams/example/CMakeLists.txt +--- boost_1_44_0/libs/iostreams/example/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/iostreams/example/CMakeLists.txt 2010-08-22 00:03:22.664854235 +0200 +@@ -0,0 +1,10 @@ ++# Copyright (C) 2009 Troy D. Straszheim ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++boost_add_executable(boost_back_inserter_example DEPENDS boost_iostreams) ++boost_add_executable(container_device_example ) ++boost_add_executable(container_sink_example ) ++boost_add_executable(container_source_example ) ++boost_add_executable(iterator_range_example ) ++boost_add_executable(std_back_inserter_example ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/iostreams/module.cmake boost-1.44.0-cmake/libs/iostreams/module.cmake +--- boost_1_44_0/libs/iostreams/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/iostreams/module.cmake 2010-08-22 00:03:23.494854889 +0200 +@@ -0,0 +1 @@ ++boost_module(iostreams DEPENDS range random) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/iostreams/src/CMakeLists.txt boost-1.44.0-cmake/libs/iostreams/src/CMakeLists.txt +--- boost_1_44_0/libs/iostreams/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/iostreams/src/CMakeLists.txt 2010-08-22 00:03:23.069070995 +0200 +@@ -0,0 +1,36 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++set(BOOST_IOSTREAMS_EXTRA_SOURCES) ++set(BOOST_IOSTREAMS_LIBRARIES) ++ ++# ++# These finds are done upstairs in libs/iostreams/CMakeLists.txt ++# ++if (ZLIB_FOUND) ++ include_directories(${ZLIB_INCLUDE_DIR}) ++ set(ZLIB_EXTRA_SOURCES zlib.cpp gzip.cpp) ++ set(ZLIB_EXTRA_LIBRARIES ${ZLIB_LIBRARIES}) ++endif(ZLIB_FOUND) ++ ++if (BZIP2_FOUND) ++ include_directories(${BZIP2_INCLUDE_DIR}) ++ add_definitions(${BZIP2_DEFINITIONS}) ++ set(BZIP2_EXTRA_SOURCES bzip2.cpp) ++ set(BZIP2_EXTRA_LIBRARIES ${BZIP2_LIBRARIES}) ++ # NOTE: What to do about BZIP2_NEED_PREFIX? ++endif(BZIP2_FOUND) ++ ++boost_add_library(iostreams ++ ++ file_descriptor.cpp ++ mapped_file.cpp ++ ${ZLIB_EXTRA_SOURCES} ++ ${BZIP2_EXTRA_SOURCES} ++ ++ LINK_LIBS ${ZLIB_EXTRA_LIBRARIES} ${BZIP2_EXTRA_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_IOSTREAMS_DYN_LINK=1" ++ ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/iostreams/test/CMakeLists.txt boost-1.44.0-cmake/libs/iostreams/test/CMakeLists.txt +--- boost_1_44_0/libs/iostreams/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/iostreams/test/CMakeLists.txt 2010-08-22 00:03:22.948855369 +0200 +@@ -0,0 +1,69 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(iostreams BOOST_DEPENDS test) ++ ++ ++# Helper macro to create tests for the iostreams library ++macro(iostreams_test TESTNAME) ++ boost_test_run(${TESTNAME} ++ ${ARGN} ++ DEPENDS boost_unit_test_framework ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++endmacro(iostreams_test) ++ ++iostreams_test(array_test) ++iostreams_test(auto_close_test) ++iostreams_test(buffer_size_test) ++iostreams_test(code_converter_test ++ code_converter_test.cpp detail/utf8_codecvt_facet.cpp) ++iostreams_test(compose_test) ++iostreams_test(component_access_test) ++iostreams_test(copy_test) ++iostreams_test(counter_test) ++iostreams_test(direct_adapter_test) ++iostreams_test(example_test) ++iostreams_test(file_test) ++boost_test_run(file_descriptor_test ++ DEPENDS boost_unit_test_framework boost_iostreams ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++iostreams_test(filtering_stream_test) ++iostreams_test(finite_state_filter_test) ++iostreams_test(flush_test) ++iostreams_test(invert_test) ++iostreams_test(line_filter_test) ++boost_test_run(mapped_file_test ++ DEPENDS boost_unit_test_framework boost_iostreams ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++iostreams_test(newline_test) ++iostreams_test(null_test) ++iostreams_test(pipeline_test) ++boost_test_run(regex_filter_test ++ DEPENDS boost_unit_test_framework boost_regex ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++iostreams_test(restrict_test) ++iostreams_test(seekable_file_test) ++iostreams_test(seekable_filter_test) ++iostreams_test(stdio_filter_test) ++iostreams_test(symmetric_filter_test) ++iostreams_test(tee_test) ++iostreams_test(wide_stream_test) ++ ++if (ZLIB_FOUND) ++ boost_test_run(gzip_test ++ DEPENDS boost_unit_test_framework boost_iostreams ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++ boost_test_run(zlib_test ++ DEPENDS boost_unit_test_framework boost_iostreams ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++endif(ZLIB_FOUND) ++ ++# Find BZip2. If it's available, test it ++if (BZIP2_FOUND) ++ boost_test_run(bzip2_test ++ DEPENDS boost_unit_test_framework boost_iostreams ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++endif(BZIP2_FOUND) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/iterator/CMakeLists.txt boost-1.44.0-cmake/libs/iterator/CMakeLists.txt +--- boost_1_44_0/libs/iterator/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/iterator/CMakeLists.txt 2010-08-22 00:04:26.181979812 +0200 +@@ -0,0 +1,30 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ iterator.hpp ++ iterator ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ iterator ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A system of concepts which extend the C++ standard iterator requirementsand a framework of components for building iterators based on these extended concepts and includes several useful iterator adaptors." ++ MODULARIZED ++ AUTHORS "David Abrahams " ++ "Jeremy Siek " ++ "Thomas Witt " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/iterator/module.cmake boost-1.44.0-cmake/libs/iterator/module.cmake +--- boost_1_44_0/libs/iterator/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/iterator/module.cmake 2010-08-22 00:04:26.767853786 +0200 +@@ -0,0 +1 @@ ++boost_module(iterator DEPENDS mpl type_traits function concept_check) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/iterator/test/CMakeLists.txt boost-1.44.0-cmake/libs/iterator/test/CMakeLists.txt +--- boost_1_44_0/libs/iterator/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/iterator/test/CMakeLists.txt 2010-08-22 00:04:26.171922577 +0200 +@@ -0,0 +1,39 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(iterator BOOST_DEPENDS test tuple smart_ptr) ++ ++# These first two tests will run last, and are expected to fail ++# for many less-capable compilers. ++ ++boost_test_compile_fail(interoperable_fail) ++# test uses expected success, so that we catch unrelated ++# compilation problems. ++boost_test_run(is_convertible_fail) ++boost_test_run(zip_iterator_test) ++ ++# These tests should work for just about everything. ++boost_test_compile(is_lvalue_iterator) ++boost_test_compile(is_readable_iterator) ++boost_test_compile(pointee) ++ ++boost_test_run(unit_tests) ++boost_test_run(concept_tests) ++boost_test_run(iterator_adaptor_cc) ++boost_test_run(iterator_adaptor_test) ++boost_test_compile(iterator_archetype_cc) ++boost_test_compile_fail(iter_archetype_default_ctor) ++boost_test_compile_fail(lvalue_concept_fail) ++boost_test_run(transform_iterator_test) ++boost_test_run(indirect_iterator_test) ++boost_test_compile(indirect_iter_member_types) ++boost_test_run(filter_iterator_test) ++boost_test_run(iterator_facade) ++boost_test_run(reverse_iterator_test) ++boost_test_run(counting_iterator_test) ++boost_test_run(interoperable) ++boost_test_run(iterator_traits_test) ++boost_test_run(permutation_iterator_test) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/lambda/CMakeLists.txt boost-1.44.0-cmake/libs/lambda/CMakeLists.txt +--- boost_1_44_0/libs/lambda/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/lambda/CMakeLists.txt 2010-08-22 00:04:35.129854782 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ lambda ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ lambda ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/lambda/module.cmake boost-1.44.0-cmake/libs/lambda/module.cmake +--- boost_1_44_0/libs/lambda/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/lambda/module.cmake 2010-08-22 00:04:35.189854634 +0200 +@@ -0,0 +1 @@ ++boost_module(lambda DEPENDS tuple) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/lambda/test/CMakeLists.txt boost-1.44.0-cmake/libs/lambda/test/CMakeLists.txt +--- boost_1_44_0/libs/lambda/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/lambda/test/CMakeLists.txt 2010-08-22 00:04:35.094854655 +0200 +@@ -0,0 +1,24 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(lambda BOOST_DEPENDS test any) ++ ++boost_test_run(algorithm_test DEPENDS boost_test_exec_monitor) ++boost_test_run(bind_tests_simple DEPENDS boost_test_exec_monitor) ++boost_test_run(bind_tests_advanced DEPENDS boost_test_exec_monitor) ++boost_test_run(bind_tests_simple_f_refs DEPENDS boost_test_exec_monitor) ++boost_test_run(bll_and_function DEPENDS boost_test_exec_monitor) ++boost_test_run(lambda_cast_test ++ cast_test.cpp DEPENDS boost_test_exec_monitor) ++boost_test_run(constructor_tests DEPENDS boost_test_exec_monitor) ++boost_test_run(control_structures DEPENDS boost_test_exec_monitor) ++boost_test_run(exception_test DEPENDS boost_test_exec_monitor) ++boost_test_run(extending_rt_traits DEPENDS boost_test_exec_monitor) ++boost_test_run(is_instance_of_test DEPENDS boost_test_exec_monitor) ++boost_test_run(member_pointer_test DEPENDS boost_test_exec_monitor) ++boost_test_run(operator_tests_simple DEPENDS boost_test_exec_monitor) ++boost_test_run(phoenix_control_structures DEPENDS boost_test_exec_monitor) ++boost_test_run(switch_construct DEPENDS boost_test_exec_monitor) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/logic/CMakeLists.txt boost-1.44.0-cmake/libs/logic/CMakeLists.txt +--- boost_1_44_0/libs/logic/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/logic/CMakeLists.txt 2010-08-22 00:02:56.711443405 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ logic ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ logic ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/logic/module.cmake boost-1.44.0-cmake/libs/logic/module.cmake +--- boost_1_44_0/libs/logic/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/logic/module.cmake 2010-08-22 00:02:56.717854242 +0200 +@@ -0,0 +1,3 @@ ++boost_module(logic DEPENDS config detail) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/logic/test/CMakeLists.txt boost-1.44.0-cmake/libs/logic/test/CMakeLists.txt +--- boost_1_44_0/libs/logic/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/logic/test/CMakeLists.txt 2010-08-22 00:02:56.694854004 +0200 +@@ -0,0 +1,12 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(logic BOOST_DEPENDS test) ++ ++ ++boost_test_run(tribool_test) ++boost_test_run(tribool_rename_test) ++boost_test_run(tribool_io_test) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/math/CMakeLists.txt boost-1.44.0-cmake/libs/math/CMakeLists.txt +--- boost_1_44_0/libs/math/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/math/CMakeLists.txt 2010-08-22 00:03:58.914979343 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ math_fwd.hpp ++ math ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ math ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/math/module.cmake boost-1.44.0-cmake/libs/math/module.cmake +--- boost_1_44_0/libs/math/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/math/module.cmake 2010-08-22 00:04:09.634135975 +0200 +@@ -0,0 +1 @@ ++boost_module(math DEPENDS format array) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/math/test/CMakeLists.txt boost-1.44.0-cmake/libs/math/test/CMakeLists.txt +--- boost_1_44_0/libs/math/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/math/test/CMakeLists.txt 2010-08-22 00:03:55.968854895 +0200 +@@ -0,0 +1,33 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(math BOOST_DEPENDS test regex) ++include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++ ++boost_test_run(common_factor_test DEPENDS boost_unit_test_framework) ++boost_test_run(octonion_test ++ ../octonion/octonion_test.cpp ++ DEPENDS boost_unit_test_framework) ++boost_test_run(quaternion_test ++ ../quaternion/quaternion_test.cpp ++ DEPENDS boost_unit_test_framework) ++boost_test_run(special_functions_test ++ ../special_functions/special_functions_test.cpp ++ DEPENDS boost_unit_test_framework) ++boost_test_run(quaternion_multi_incl_test ++ ../quaternion/quaternion_mult_incl_test.cpp ++ ../quaternion/quaternion_mi1.cpp ++ ../quaternion/quaternion_mi2.cpp ++ DEPENDS boost_unit_test_framework) ++foreach(mathtest ++ ++ complex_test ++ hypot_test ++ ) ++ ++ boost_test_run(${mathtest} DEPENDS boost_test_exec_monitor) ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/mpi/CMakeLists.txt boost-1.44.0-cmake/libs/mpi/CMakeLists.txt +--- boost_1_44_0/libs/mpi/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/mpi/CMakeLists.txt 2010-08-22 00:04:27.358457027 +0200 +@@ -0,0 +1,31 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ mpi.hpp ++ mpi ++) ++ ++if (NOT MPI_FOUND) ++ colormsg(RED "+-- MPI not found, disabling.") ++else() ++ ++ boost_library_project( ++ mpi ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++ ) ++ ++endif() +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/mpi/doc/CMakeLists.txt boost-1.44.0-cmake/libs/mpi/doc/CMakeLists.txt +--- boost_1_44_0/libs/mpi/doc/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/mpi/doc/CMakeLists.txt 2010-08-22 00:04:27.376854282 +0200 +@@ -0,0 +1,36 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_documentation(mpi.qbk ++ HEADERS mpi_autodoc.xml ++ boost/mpi.hpp ++ boost/mpi/allocator.hpp ++ boost/mpi/collectives.hpp ++ boost/mpi/collectives_fwd.hpp ++ boost/mpi/communicator.hpp ++ boost/mpi/config.hpp ++ boost/mpi/datatype.hpp ++ boost/mpi/datatype_fwd.hpp ++ boost/mpi/environment.hpp ++ boost/mpi/exception.hpp ++ boost/mpi/graph_communicator.hpp ++ boost/mpi/group.hpp ++ boost/mpi/intercommunicator.hpp ++ boost/mpi/nonblocking.hpp ++ boost/mpi/operations.hpp ++ boost/mpi/packed_iarchive.hpp ++ boost/mpi/packed_oarchive.hpp ++ boost/mpi/skeleton_and_content.hpp ++ boost/mpi/skeleton_and_content_fwd.hpp ++ boost/mpi/status.hpp ++ boost/mpi/request.hpp ++ boost/mpi/timer.hpp ++ boost/mpi/python.hpp ++ DOXYGEN_PARAMETERS ++ MACRO_EXPANSION=YES ++ EXPAND_ONLY_PREDEF=YES ++ "PREDEFINED=BOOST_MPI_HAS_MEMORY_ALLOCATION= BOOST_MPI_HAS_NOARG_INITIALIZATION= MPI_VERSION=2 BOOST_MPI_DOXYGEN=" ++ ) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/mpi/module.cmake boost-1.44.0-cmake/libs/mpi/module.cmake +--- boost_1_44_0/libs/mpi/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/mpi/module.cmake 2010-08-22 00:04:27.441854989 +0200 +@@ -0,0 +1 @@ ++boost_module(mpi DEPENDS graph) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/mpi/src/CMakeLists.txt boost-1.44.0-cmake/libs/mpi/src/CMakeLists.txt +--- boost_1_44_0/libs/mpi/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/mpi/src/CMakeLists.txt 2010-08-22 00:04:27.283854375 +0200 +@@ -0,0 +1,77 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++add_definitions(-DBOOST_MPI_SOURCE=1) ++include_directories(${MPI_INCLUDE_PATH}) ++ ++boost_add_library( ++ mpi ++ broadcast.cpp ++ communicator.cpp ++ computation_tree.cpp ++ content_oarchive.cpp ++ environment.cpp ++ exception.cpp ++ graph_communicator.cpp ++ group.cpp ++ intercommunicator.cpp ++ mpi_datatype_cache.cpp ++ mpi_datatype_oarchive.cpp ++ packed_iarchive.cpp ++ packed_oarchive.cpp ++ packed_skeleton_iarchive.cpp ++ packed_skeleton_oarchive.cpp ++ point_to_point.cpp ++ request.cpp ++ text_skeleton_oarchive.cpp ++ timer.cpp ++ DEPENDS boost_serialization ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1" ++ ) ++ ++if(PYTHON_FOUND) ++ ++ colormsg (GREEN "+-- Python available, enabling boost_mpi_python.") ++ include_directories(${PYTHON_INCLUDE_PATH}) ++ ++ boost_add_library(mpi_python ++ ++ python/serialize.cpp ++ ++ DEPENDS boost_python boost_mpi ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1" ++ LINK_FLAGS ${MPI_LINK_FLAGS} ++ LINK_LIBS ${MPI_LIBRARIES} ${PYTHON_LIBRARIES} ++ NO_STATIC) ++ ++ boost_python_extension(mpi ++ ++ python/collectives.cpp ++ python/py_communicator.cpp ++ python/datatypes.cpp ++ python/documentation.cpp ++ python/py_environment.cpp ++ python/py_nonblocking.cpp ++ python/py_exception.cpp ++ python/module.cpp ++ python/py_request.cpp ++ python/skeleton_and_content.cpp ++ python/status.cpp ++ python/py_timer.cpp ++ ++ DEPENDS boost_python boost_mpi ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1" ++ LINK_FLAGS ${MPI_LINK_FLAGS} ++ LINK_LIBS ${MPI_LIBRARIES} ${PYTHON_LIBRARIES}) ++ ++else() ++ colormsg(RED "+-- optional python bindings disabled since PYTHON_FOUND is false.") ++endif() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/mpi/test/CMakeLists.txt boost-1.44.0-cmake/libs/mpi/test/CMakeLists.txt +--- boost_1_44_0/libs/mpi/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/mpi/test/CMakeLists.txt 2010-08-22 00:04:26.991855430 +0200 +@@ -0,0 +1,77 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (MPI_FOUND) ++message(STATUS "MPI Found") ++ ++boost_additional_test_dependencies(mpi BOOST_DEPENDS test ) ++ ++include_directories(${MPI_INCLUDE_PATH}) ++ ++# Declare a test for the Boost.MPI library, which may involve both ++# building the test and executing it with varying numbers of ++# processes. ++# ++# boost_mpi_test(testname ++# [source1 source2 ...] ++# [ARGS arg1 arg2 ...] ++# [SCHEDULE procs1 procs2 ...] ++# ++# testname is the name of the test. source1, source2, etc. are the ++# source files that will be built and linked into the test ++# executable. If no source files are provided, the file "testname.cpp" ++# will be used instead. ++macro(boost_mpi_test testname) ++ PARSE_ARGUMENTS(MPI_TEST "SCHEDULE;ARGS" "" ${ARGN}) ++ ++ # Determine the test sources ++ if (MPI_TEST_DEFAULT_ARGS) ++ set(MPI_TEST_SOURCES ${MPI_TEST_DEFAULT_ARGS}) ++ else (MPI_TEST_DEFAULT_ARGS) ++ set(MPI_TEST_SOURCES "${testname}.cpp") ++ endif (MPI_TEST_DEFAULT_ARGS) ++ ++ # Build the test executable ++ boost_add_executable(${testname} ++ ${MPI_TEST_SOURCES} ++ OUTPUT_NAME tests/${PROJECT_NAME}/${testname} ++ NO_INSTALL ++ DEPENDS boost_mpi ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1") ++ if (THIS_EXE_OKAY) ++ if (NOT MPI_TEST_SCHEDULE) ++ set(MPI_TEST_SCHEDULE 1 2 3 4 7 8 13 17) ++ endif (NOT MPI_TEST_SCHEDULE) ++ ++ foreach(PROCS ${MPI_TEST_SCHEDULE}) ++ add_test("${PROJECT_NAME}::${testname}-${PROCS}" ++ ${MPIEXEC} ++ -n ${PROCS} ++ ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/tests/${PROJECT_NAME}/${testname} ++ ${BOOST_TEST_ARGS} ++ ) ++ endforeach(PROCS) ++ endif (THIS_EXE_OKAY) ++endmacro(boost_mpi_test) ++ ++boost_mpi_test(all_gather_test) ++boost_mpi_test(all_reduce_test) ++boost_mpi_test(all_to_all_test) ++boost_mpi_test(broadcast_test SCHEDULE 2 17) ++boost_mpi_test(graph_topology_test SCHEDULE 2 7 13) ++boost_mpi_test(is_mpi_op_test SCHEDULE 1) ++boost_mpi_test(nonblocking_test) ++boost_mpi_test(reduce_test) ++boost_mpi_test(ring_test SCHEDULE 2 3 4 7 8 13 17) ++boost_mpi_test(scan_test) ++boost_mpi_test(scatter_test) ++boost_mpi_test(skeleton_content_test SCHEDULE 2 3 4 7 8 13 17) ++ ++ ++endif (MPI_FOUND) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/mpl/CMakeLists.txt boost-1.44.0-cmake/libs/mpl/CMakeLists.txt +--- boost_1_44_0/libs/mpl/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/mpl/CMakeLists.txt 2010-08-22 00:03:32.868884721 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ mpl ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ mpl ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A general-purpose, high-level C++ template metaprogramming framework of compile-time algorithms, sequences and metafunctions. It provides a conceptual foundation and an extensive set of powerful and coherent tools that make doing explict metaprogramming in C++ as easy and enjoyable as possible within the current language." ++ MODULARIZED ++ AUTHORS "Aleksey Gurtovoy " ++ "David Abrahams " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/mpl/module.cmake boost-1.44.0-cmake/libs/mpl/module.cmake +--- boost_1_44_0/libs/mpl/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/mpl/module.cmake 2010-08-22 00:03:35.879854544 +0200 +@@ -0,0 +1 @@ ++boost_module(mpl DEPENDS preprocessor config detail) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/mpl/test/CMakeLists.txt boost-1.44.0-cmake/libs/mpl/test/CMakeLists.txt +--- boost_1_44_0/libs/mpl/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/mpl/test/CMakeLists.txt 2010-08-22 00:03:32.780854123 +0200 +@@ -0,0 +1,97 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(mpl BOOST_DEPENDS test bind) ++ ++boost_test_compile(largest_int aux_/largest_int.cpp) ++boost_test_compile(msvc_is_class aux_/msvc_is_class.cpp) ++boost_test_compile(template_arity aux_/template_arity.cpp) ++ ++boost_test_compile(advance) ++boost_test_compile(always) ++boost_test_compile(apply) ++boost_test_compile(apply_wrap) ++boost_test_compile(arithmetic) ++boost_test_compile(as_sequence) ++boost_test_compile(assert) ++boost_test_compile(at) ++boost_test_compile(back) ++boost_test_compile(bind) ++boost_test_compile(bitwise) ++boost_test_run(bool) ++boost_test_compile(comparison) ++boost_test_compile(contains) ++boost_test_compile(copy) ++boost_test_compile(copy_if) ++boost_test_compile(count) ++boost_test_compile(count_if) ++boost_test_compile(deque) ++boost_test_compile(distance) ++boost_test_compile(empty) ++boost_test_compile(equal) ++boost_test_compile(erase) ++boost_test_compile(erase_range) ++boost_test_compile(eval_if) ++boost_test_compile(filter_view) ++boost_test_compile(find) ++boost_test_compile(find_if) ++boost_test_compile(fold) ++boost_test_run(for_each) ++boost_test_compile(front) ++boost_test_compile(has_xxx) ++boost_test_compile(identity) ++boost_test_compile(if) ++boost_test_compile(index_of) ++boost_test_compile(inherit) ++boost_test_compile(insert) ++boost_test_compile(insert_range) ++boost_test_run(int) ++boost_test_run(integral_c) ++boost_test_compile(is_placeholder) ++boost_test_compile(is_sequence) ++boost_test_compile(iterator_tags) ++boost_test_compile(joint_view) ++boost_test_compile(lambda) ++boost_test_compile(lambda_args) ++boost_test_compile(list) ++boost_test_compile(list_c) ++boost_test_compile(logical) ++boost_test_compile(lower_bound) ++boost_test_compile(map) ++boost_test_compile(max_element) ++boost_test_compile(min_max) ++boost_test_compile(multiset) ++boost_test_compile(next) ++boost_test_compile(no_has_xxx) ++boost_test_compile(numeric_ops) ++boost_test_compile(pair_view) ++boost_test_compile(partition) ++boost_test_compile(pop_front) ++boost_test_compile(push_front) ++boost_test_compile(quote) ++boost_test_compile(range_c) ++boost_test_compile(remove) ++boost_test_compile(remove_if) ++boost_test_compile(replace) ++boost_test_compile(replace_if) ++boost_test_compile(reverse) ++boost_test_compile(same_as) ++boost_test_compile(set) ++boost_test_compile(set_c) ++boost_test_compile(single_view) ++boost_test_compile(size) ++boost_test_run(size_t) ++boost_test_compile(sizeof) ++boost_test_compile(sort) ++boost_test_compile(stable_partition) ++boost_test_compile(transform) ++boost_test_compile(transform_view) ++boost_test_compile(unique) ++boost_test_compile(unpack_args) ++boost_test_compile(upper_bound) ++boost_test_compile(vector) ++boost_test_compile(vector_c) ++boost_test_compile(zip_view) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/multi_array/CMakeLists.txt boost-1.44.0-cmake/libs/multi_array/CMakeLists.txt +--- boost_1_44_0/libs/multi_array/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/multi_array/CMakeLists.txt 2010-08-22 00:03:36.542969265 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ multi_array.hpp ++ multi_array ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ multi_array ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/multi_array/module.cmake boost-1.44.0-cmake/libs/multi_array/module.cmake +--- boost_1_44_0/libs/multi_array/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/multi_array/module.cmake 2010-08-22 00:03:36.932980116 +0200 +@@ -0,0 +1,2 @@ ++boost_module(multi_array DEPENDS array iterator detail concept_check mpl static_assert functional) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/multi_array/test/CMakeLists.txt boost-1.44.0-cmake/libs/multi_array/test/CMakeLists.txt +--- boost_1_44_0/libs/multi_array/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/multi_array/test/CMakeLists.txt 2010-08-22 00:03:36.426854474 +0200 +@@ -0,0 +1,47 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(multi_array BOOST_DEPENDS test) ++ ++ ++boost_test_compile_fail(fail_cbracket) ++boost_test_compile_fail(fail_cdata) ++boost_test_compile_fail(fail_citerator) ++boost_test_compile_fail(fail_cparen) ++boost_test_compile_fail(fail_criterator) ++boost_test_compile_fail(fail_csubarray) ++boost_test_compile_fail(fail_csubarray2) ++boost_test_compile_fail(fail_csubarray3) ++boost_test_compile_fail(fail_cview) ++boost_test_compile_fail(fail_cview2) ++boost_test_compile_fail(fail_cview3) ++boost_test_compile_fail(fail_ref_cbracket) ++boost_test_compile_fail(fail_ref_cdata) ++boost_test_compile_fail(fail_ref_citerator) ++boost_test_compile_fail(fail_ref_cparen) ++boost_test_compile_fail(fail_ref_criterator) ++boost_test_compile_fail(fail_ref_csubarray) ++boost_test_compile_fail(fail_ref_csubarray2) ++boost_test_compile_fail(fail_ref_csubarray3) ++boost_test_compile_fail(fail_ref_cview) ++boost_test_compile_fail(fail_ref_cview2) ++boost_test_compile_fail(fail_ref_cview3) ++ ++boost_test_run(constructors DEPENDS boost_test_exec_monitor) ++boost_test_run(access DEPENDS boost_test_exec_monitor) ++boost_test_run(compare DEPENDS boost_test_exec_monitor) ++boost_test_run(iterators DEPENDS boost_test_exec_monitor) ++boost_test_run(slice DEPENDS boost_test_exec_monitor) ++boost_test_run(assign DEPENDS boost_test_exec_monitor) ++boost_test_run(assign_to_array DEPENDS boost_test_exec_monitor) ++boost_test_run(index_bases DEPENDS boost_test_exec_monitor) ++boost_test_run(storage_order DEPENDS boost_test_exec_monitor) ++boost_test_run(reshape DEPENDS boost_test_exec_monitor) ++boost_test_run(range1 DEPENDS boost_test_exec_monitor) ++boost_test_run(idxgen1 DEPENDS boost_test_exec_monitor) ++boost_test_run(stl_interaction DEPENDS boost_test_exec_monitor) ++boost_test_run(resize DEPENDS boost_test_exec_monitor) ++boost_test_compile(concept_checks) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/multi_index/CMakeLists.txt boost-1.44.0-cmake/libs/multi_index/CMakeLists.txt +--- boost_1_44_0/libs/multi_index/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/multi_index/CMakeLists.txt 2010-08-22 00:02:57.402984512 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ multi_index_container.hpp ++ multi_index_container_fwd.hpp ++ multi_index ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ multi_index ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/multi_index/module.cmake boost-1.44.0-cmake/libs/multi_index/module.cmake +--- boost_1_44_0/libs/multi_index/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/multi_index/module.cmake 2010-08-22 00:02:57.747060974 +0200 +@@ -0,0 +1 @@ ++boost_module(multi_index DEPENDS serialization functional math) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/multi_index/test/CMakeLists.txt boost-1.44.0-cmake/libs/multi_index/test/CMakeLists.txt +--- boost_1_44_0/libs/multi_index/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/multi_index/test/CMakeLists.txt 2010-08-22 00:02:57.226679888 +0200 +@@ -0,0 +1,34 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(multi_index BOOST_DEPENDS test) ++ ++ ++boost_test_run(test_basic test_basic.cpp test_basic_main.cpp) ++boost_test_run(test_capacity test_capacity.cpp test_capacity_main.cpp) ++boost_test_run(test_comparison test_comparison.cpp test_comparison_main.cpp) ++boost_test_run(test_composite_key test_composite_key.cpp test_composite_key_main.cpp) ++boost_test_run(test_conv_iterators test_conv_iterators.cpp test_conv_iterators_main.cpp) ++boost_test_run(test_copy_assignment test_copy_assignment.cpp test_copy_assignment_main.cpp) ++boost_test_run(test_hash_ops test_hash_ops.cpp test_hash_ops_main.cpp) ++boost_test_run(test_iterators test_iterators.cpp test_iterators_main.cpp) ++boost_test_run(test_key_extractors test_key_extractors.cpp test_key_extractors_main.cpp) ++boost_test_run(test_list_ops test_list_ops.cpp test_list_ops_main.cpp) ++boost_test_run(test_modifiers test_modifiers.cpp test_modifiers_main.cpp) ++boost_test_run(test_mpl_ops test_mpl_ops.cpp test_mpl_ops_main.cpp) ++boost_test_run(test_observers test_observers.cpp test_observers_main.cpp) ++boost_test_run(test_projection test_projection.cpp test_projection_main.cpp) ++boost_test_run(test_range test_range.cpp test_range_main.cpp) ++boost_test_run(test_rearrange test_rearrange.cpp test_rearrange_main.cpp) ++boost_test_run(test_safe_mode test_safe_mode.cpp test_safe_mode_main.cpp) ++boost_test_run(test_serialization ++ test_serialization.cpp test_serialization1.cpp ++ test_serialization2.cpp test_serialization3.cpp ++ test_serialization_main.cpp ++ DEPENDS boost_serialization) ++boost_test_run(test_set_ops test_set_ops.cpp test_set_ops_main.cpp) ++boost_test_run(test_special_set_ops test_special_set_ops.cpp test_special_set_ops_main.cpp) ++boost_test_run(test_update test_update.cpp test_update_main.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/numeric/CMakeLists.txt boost-1.44.0-cmake/libs/numeric/CMakeLists.txt +--- boost_1_44_0/libs/numeric/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/numeric/CMakeLists.txt 2010-08-22 00:03:09.169854194 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ numeric ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ numeric ++ # SRCDIRS ++ TESTDIRS conversion/test interval/test ublas/test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/numeric/conversion/test/CMakeLists.txt boost-1.44.0-cmake/libs/numeric/conversion/test/CMakeLists.txt +--- boost_1_44_0/libs/numeric/conversion/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/numeric/conversion/test/CMakeLists.txt 2010-08-22 00:03:08.903855386 +0200 +@@ -0,0 +1,17 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#------------------------------------------------------------------------- ++#-- Needed include directories for the tests ++boost_additional_test_dependencies(numeric BOOST_DEPENDS test) ++#------------------------------------------------------------------------- ++ ++boost_test_run(bounds_test) ++boost_test_run(traits_test) ++boost_test_run(converter_test) ++boost_test_run(udt_support_test) ++boost_test_run(numeric_conv_cast_test numeric_cast_test.cpp) ++boost_test_run(udt_example_0) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/numeric/interval/test/CMakeLists.txt boost-1.44.0-cmake/libs/numeric/interval/test/CMakeLists.txt +--- boost_1_44_0/libs/numeric/interval/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/numeric/interval/test/CMakeLists.txt 2010-08-22 00:03:09.097864937 +0200 +@@ -0,0 +1,34 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#TODO: Deal with these on OSF ++# hp_cxx,OSF:"-fprm d" ++ # gcc,OSF:-mfp-rounding-mode=d ++ ++#------------------------------------------------------------------------- ++#-- Needed include directories for the tests ++boost_additional_test_dependencies(numeric BOOST_DEPENDS test) ++#------------------------------------------------------------------------- ++ ++boost_test_compile(integer) ++ ++boost_test_run(add) ++boost_test_run(det) ++boost_test_run(fmod) ++message(STATUS "numeric/interval/test/mul needs love") ++#boost_test_run(mul) ++message(STATUS "numeric/interval/test/overflow needs love") ++#boost_test_run(overflow) ++boost_test_run(pi) ++boost_test_run(pow) ++ ++boost_test_run(cmp DEPENDS boost_test_exec_monitor) ++boost_test_run(cmp_exn DEPENDS boost_test_exec_monitor) ++boost_test_run(cmp_exp DEPENDS boost_test_exec_monitor) ++boost_test_run(cmp_lex DEPENDS boost_test_exec_monitor) ++boost_test_run(cmp_set DEPENDS boost_test_exec_monitor) ++boost_test_run(cmp_tribool DEPENDS boost_test_exec_monitor) ++boost_test_run(test_float DEPENDS boost_test_exec_monitor) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/numeric/module.cmake boost-1.44.0-cmake/libs/numeric/module.cmake +--- boost_1_44_0/libs/numeric/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/numeric/module.cmake 2010-08-22 00:03:21.607855227 +0200 +@@ -0,0 +1 @@ ++boost_module(numeric DEPENDS logic serialization) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/numeric/ublas/test/CMakeLists.txt boost-1.44.0-cmake/libs/numeric/ublas/test/CMakeLists.txt +--- boost_1_44_0/libs/numeric/ublas/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/numeric/ublas/test/CMakeLists.txt 2010-08-22 00:03:09.252854765 +0200 +@@ -0,0 +1,86 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# Define features to test: ++# Value types: USE_FLOAT USE_DOUBLE USE_STD_COMPLEX ++# Proxies: USE_RANGE USE_SLICE ++# Storage types: USE_BOUNDED_ARRAY USE_UNBOUNDED_ARRAY ++# Vector types: USE_STD_VECTOR USE_BOUNDED_VECTOR ++# Matrix types: USE_MATRIX USE_BOUNDED_MATRIX USE_VECTOR_OF_VECTOR ++# Adaptors: USE_ADAPTOR ++ ++set(UBLAS_TESTSET_DEFINES ++ "-DUSE_DOUBLE -DUSE_STD_COMPLEX -DUSE_RANGE -DUSE_SLICE -DUSE_UNBOUNDED_ARRAY -DUSE_STD_VECTOR -DUSE_BOUNDED_VECTOR -DUSE_MATRIX") ++ ++# Sparse storage: USE_MAP_ARRAY USE_STD_MAP ++# Sparse vectors: USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR USE_COORDINATE_VECTOR ++# Sparse matrices: USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX USE_COORDINATE_MATRIX USE_MAPPED_VECTOR_OF_MAPPED_VECTOR USE_GENERALIZED_VECTOR_OF_VECTOR ++ ++set(UBLAS_TESTSET_SPARSE_DEFINES ++ "-DUSE_DOUBLE -DUSE_STD_COMPLEX -DUSE_UNBOUNDED_ARRAY -DUSE_MAP_ARRAY -DUSE_STD_MAP -DUSE_MAPPED_VECTOR -DUSE_COMPRESSED_VECTOR -DUSE_COORDINATE_VECTOR -DUSE_MAPPED_MATRIX -DUSE_COMPRESSED_MATRIX -DUSE_COORDINATE_MATRIX") ++ ++# Definitions for uBLAS tests ++add_definitions(-DBOOST_UBLAS_NO_EXCEPTIONS) ++# TODO: vacpp:"BOOST_UBLAS_NO_ELEMENT_PROXIES" ++ ++#------------------------------------------------------------------------- ++#-- Needed include directories for the tests ++boost_additional_test_dependencies(numeric BOOST_DEPENDS test) ++#------------------------------------------------------------------------- ++ ++ ++boost_test_run(ublas_test1 ++ test1.cpp test11.cpp test12.cpp test13.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}") ++ ++boost_test_run(ublas_test2 ++ test2.cpp test21.cpp test22.cpp test23.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}") ++ ++boost_test_run(ublas_test3 ++ test3.cpp test31.cpp test32.cpp test33.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_SPARSE_DEFINES}") ++ ++boost_test_run(ublas_test4 ++ test4.cpp test42.cpp test43.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}") ++ ++boost_test_run(ublas_test5 ++ test5.cpp test52.cpp test53.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}") ++ ++boost_test_run(ublas_test6 ++ test6.cpp test62.cpp test63.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}") ++ ++# Test commented out because boost::interval does not behave like a scalar ++# boost_test_run(test7 ++# test7.cpp test71.cpp test72.cpp test73.cpp ++# COMPILE_FLAGS "-DBOOST_UBLAS_USE_INTERVAL ${UBLAS_TESTSET_DEFINES}") ++ ++boost_test_run(placement_new) ++ ++boost_test_run(test_lu) ++ ++boost_test_run(triangular_access ++ triangular_access.cpp ++ COMPILE_FLAGS "-DNOMESSAGES") ++ ++boost_test_run(triangular_layout ++ triangular_layout.cpp) ++ ++ ++SET(test_compile_flags "-DEXTERNAL") ++#-- Intel Compiler flags ++IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ SET(test_compile_flags "${test_compile_flags} -Xc") ++ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ ++IF (APPLE) ++ SET(test_compile_flags "${test_compile_flags} -fabi-version=0") ++ENDIF (APPLE) ++ ++boost_test_compile(concepts COMPILE_FLAGS "-DEXTERNAL") +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/optional/CMakeLists.txt boost-1.44.0-cmake/libs/optional/CMakeLists.txt +--- boost_1_44_0/libs/optional/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/optional/CMakeLists.txt 2010-08-22 00:03:27.890854360 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ optional.hpp ++ optional ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ optional ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/optional/module.cmake boost-1.44.0-cmake/libs/optional/module.cmake +--- boost_1_44_0/libs/optional/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/optional/module.cmake 2010-08-22 00:03:28.530854280 +0200 +@@ -0,0 +1 @@ ++boost_module(optional DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/optional/test/CMakeLists.txt boost-1.44.0-cmake/libs/optional/test/CMakeLists.txt +--- boost_1_44_0/libs/optional/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/optional/test/CMakeLists.txt 2010-08-22 00:03:27.822859012 +0200 +@@ -0,0 +1,23 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(optional BOOST_DEPENDS test tuple) ++ ++ ++boost_test_run(optional_test) ++boost_test_run(optional_test_tie) ++boost_test_run(optional_test_ref ++ KNOWN_FAILURES "gcc-4.[0-3].[0-9]-.*") ++boost_test_run(optional_test_inplace) ++boost_test_run(optional_test_io) ++boost_test_compile_fail(optional_test_fail1) ++boost_test_compile_fail(optional_test_fail3a) ++boost_test_compile_fail(optional_test_fail3b) ++boost_test_compile_fail(optional_test_ref_fail1) ++boost_test_compile_fail(optional_test_ref_fail3) ++boost_test_compile_fail(optional_test_ref_fail4) ++boost_test_compile_fail(optional_test_inplace_fail) ++boost_test_compile_fail(optional_test_inplace_fail2) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/parameter/CMakeLists.txt boost-1.44.0-cmake/libs/parameter/CMakeLists.txt +--- boost_1_44_0/libs/parameter/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/parameter/CMakeLists.txt 2010-08-22 00:03:06.734854323 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ parameter.hpp ++ parameter ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ parameter ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Write functions that accept arguments by name." ++ MODULARIZED ++ AUTHORS "David Abrahams " ++ "Daniel Wallin " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/parameter/module.cmake boost-1.44.0-cmake/libs/parameter/module.cmake +--- boost_1_44_0/libs/parameter/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/parameter/module.cmake 2010-08-22 00:03:06.868854684 +0200 +@@ -0,0 +1 @@ ++boost_module(parameter DEPENDS python) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/parameter/test/CMakeLists.txt boost-1.44.0-cmake/libs/parameter/test/CMakeLists.txt +--- boost_1_44_0/libs/parameter/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/parameter/test/CMakeLists.txt 2010-08-22 00:03:06.690264960 +0200 +@@ -0,0 +1,113 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(optional BOOST_DEPENDS test timer) ++ ++ ++boost_test_run(basics) ++boost_test_run(sfinae) ++boost_test_run(macros) ++boost_test_run(earwicker) ++boost_test_run(tutorial) ++boost_test_run(singular) ++boost_test_run(mpl) ++boost_test_run(preprocessor) ++boost_test_run(preprocessor_deduced) ++boost_test_run(efficiency COMPILE_FLAGS "${RELEASE_COMPILE_FLAGS}") ++boost_test_run(maybe) ++boost_test_run(deduced) ++boost_test_run(optional_deduced_sfinae) ++boost_test_run(deduced_dependent_predicate) ++boost_test_run(normalized_argument_types) ++boost_test_compile(ntp) ++boost_test_compile(unwrap_cv_reference) ++boost_test_compile_fail(duplicates) ++boost_test_compile_fail(deduced_unmatched_arg) ++boost_test_compile(compose) ++ ++if (PYTHON_FOUND) ++ ++ include_directories(${PYTHON_INCLUDE_PATH}) ++ ++ # ++ # This came from libs/python/test/CMakeLists.txt ++ # ++ # copy-pasting this kind of code is of course an awful idea. ++ # ++ macro(bpl_test TESTNAME) ++ parse_arguments(BPL_TEST ++ "ARGS" ++ "" ++ ${ARGN}) ++ ++ # Determine the Python and C++ source files for this test ++ if (BPL_TEST_DEFAULT_ARGS) ++ # First argument is the Python source we will run, the rest are ++ # either extra Python sources we're dependent on or C++ files from ++ # which we will build extension modules. ++ car(BPL_TEST_PYSOURCE ${BPL_TEST_DEFAULT_ARGS}) ++ cdr(BPL_TEST_DEFAULT_ARGS ${BPL_TEST_DEFAULT_ARGS}) ++ ++ get_filename_component(BPL_TEST_PYBASE ${BPL_TEST_PYSOURCE} NAME_WE) ++ ++ # Process all the .cpp file and extension module names ++ foreach(SRC ${BPL_TEST_DEFAULT_ARGS}) ++ get_filename_component(BPL_SRC_EXT ${SRC} EXT) ++ if (BPL_SRC_EXT STREQUAL ".cpp") ++ ++ # Build a Python extension module from this source file ++ get_filename_component(BPL_SRC_NAME ${SRC} NAME_WE) ++ ++ if(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}_ext) ++ else(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}) ++ endif(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ ++ boost_python_extension(${BPL_EXTENSION_MODULE} ${SRC}) ++ ++ else (BPL_SRC_EXT STREQUAL ".cpp") ++ set(BPL_EXTENSION_MODULE ${SRC}) ++ ++ endif (BPL_SRC_EXT STREQUAL ".cpp") ++ ++ endforeach(SRC ${BPL_TEST_DEFAULT_ARGS}) ++ ++ else (BPL_TEST_DEFAULT_ARGS) ++ ++ set(BPL_TEST_PYSOURCE "${TESTNAME}.py") ++ ++ # Build a Python extension module from this source file ++ boost_python_extension(${TESTNAME}_ext "${TESTNAME}.cpp") ++ ++ endif(BPL_TEST_DEFAULT_ARGS) ++ ++ # We'll need the full patch to run the Python test ++ set(BPL_TEST_PYSOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${BPL_TEST_PYSOURCE}) ++ ++ # Run the test itself ++ file(TO_NATIVE_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" PYTHONPATH) ++ if(WIN32 AND NOT UNIX) ++ string(REPLACE "\\" "\\\\" PYTHONPATH "${PYTHONPATH}") ++ endif(WIN32 AND NOT UNIX) ++ set(FULL_TESTNAME ${PROJECT_NAME}-${TESTNAME}) ++ add_test(${FULL_TESTNAME} ++ ${VALGRIND_EXECUTABLE} ++ ${VALGRIND_FLAGS} ++ ${PYTHON_EXECUTABLE} ++ "${CMAKE_CURRENT_SOURCE_DIR}/pyrun.py" ++ "${PYTHONPATH}" ++ ${BPL_TEST_PYSOURCE} ${BPL_TEST_ARGS}) ++ ++ set_tests_properties(${FULL_TESTNAME} ++ PROPERTIES ++ LABELS "${PROJECT_NAME}" ++ ) ++ endmacro(bpl_test) ++ ++ bpl_test(python_test) ++ ++endif() +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/pool/CMakeLists.txt boost-1.44.0-cmake/libs/pool/CMakeLists.txt +--- boost_1_44_0/libs/pool/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/pool/CMakeLists.txt 2010-08-22 00:03:04.730855506 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ pool ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ pool ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/pool/module.cmake boost-1.44.0-cmake/libs/pool/module.cmake +--- boost_1_44_0/libs/pool/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/pool/module.cmake 2010-08-22 00:03:04.857854535 +0200 +@@ -0,0 +1 @@ ++boost_module(pool DEPENDS config detail exception) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/pool/test/CMakeLists.txt boost-1.44.0-cmake/libs/pool/test/CMakeLists.txt +--- boost_1_44_0/libs/pool/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/pool/test/CMakeLists.txt 2010-08-22 00:03:04.721854303 +0200 +@@ -0,0 +1,9 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(pool BOOST_DEPENDS test) ++ ++boost_test_run(test_pool_alloc DEPENDS boost_test_exec_monitor) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/preprocessor/CMakeLists.txt boost-1.44.0-cmake/libs/preprocessor/CMakeLists.txt +--- boost_1_44_0/libs/preprocessor/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/preprocessor/CMakeLists.txt 2010-08-22 00:03:46.829965467 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ preprocessor.hpp ++ preprocessor ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ preprocessor ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/preprocessor/module.cmake boost-1.44.0-cmake/libs/preprocessor/module.cmake +--- boost_1_44_0/libs/preprocessor/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/preprocessor/module.cmake 2010-08-22 00:03:52.425854804 +0200 +@@ -0,0 +1,4 @@ ++# Preprocessor does not depend on anything else ++ ++ ++ +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/preprocessor/test/CMakeLists.txt boost-1.44.0-cmake/libs/preprocessor/test/CMakeLists.txt +--- boost_1_44_0/libs/preprocessor/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/preprocessor/test/CMakeLists.txt 2010-08-22 00:03:46.678900536 +0200 +@@ -0,0 +1,23 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(preprocessor BOOST_DEPENDS test) ++ ++ ++boost_test_compile(arithmetic) ++boost_test_compile(array) ++boost_test_compile(comparison) ++boost_test_compile(control) ++boost_test_compile(debug) ++boost_test_compile(facilities) ++boost_test_compile(iteration) ++boost_test_compile(list) ++boost_test_compile(logical) ++boost_test_compile(repetition) ++boost_test_compile(selection) ++boost_test_compile(seq) ++boost_test_compile(slot) ++boost_test_compile(tuple) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/program_options/CMakeLists.txt boost-1.44.0-cmake/libs/program_options/CMakeLists.txt +--- boost_1_44_0/libs/program_options/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/program_options/CMakeLists.txt 2010-08-22 00:03:04.618980022 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ program_options.hpp ++ program_options ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ program_options ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Access to configuration data given on command line, in config files and other sources." ++ MODULARIZED ++ AUTHORS "Vladimir Prus " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/program_options/module.cmake boost-1.44.0-cmake/libs/program_options/module.cmake +--- boost_1_44_0/libs/program_options/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/program_options/module.cmake 2010-08-22 00:03:04.651854677 +0200 +@@ -0,0 +1 @@ ++boost_module(program_options DEPENDS any bind smart_ptr test tokenizer) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/program_options/src/CMakeLists.txt boost-1.44.0-cmake/libs/program_options/src/CMakeLists.txt +--- boost_1_44_0/libs/program_options/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/program_options/src/CMakeLists.txt 2010-08-22 00:03:04.563854655 +0200 +@@ -0,0 +1,11 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library(program_options ++ cmdline.cpp config_file.cpp options_description.cpp parsers.cpp ++ variables_map.cpp value_semantic.cpp positional_options.cpp ++ utf8_codecvt_facet.cpp convert.cpp winmain.cpp ++ SHARED_COMPILE_FLAGS "-DBOOST_PROGRAM_OPTIONS_DYN_LINK=1") +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/program_options/test/CMakeLists.txt boost-1.44.0-cmake/libs/program_options/test/CMakeLists.txt +--- boost_1_44_0/libs/program_options/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/program_options/test/CMakeLists.txt 2010-08-22 00:03:04.554980472 +0200 +@@ -0,0 +1,39 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(program_options BOOST_DEPENDS test) ++ ++set(PROGRAM_OPTIONS_LIBRARIES ++ boost_program_options ++ boost_test_exec_monitor) ++ ++set(BOOST_TEST_EXEC_MONITOR_SUFFIX "") ++if (NOT BUILD_SINGLE_THREADED) ++ set(BOOST_TEST_EXEC_MONITOR_SUFFIX "-mt") ++endif() ++set(BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-static") ++if (NOT BUILD_RELEASE) ++ set(BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-debug") ++endif() ++ ++macro(program_options_test_run TESTNAME) ++ boost_test_run(${TESTNAME} ++ STATIC ++ DEPENDS boost_program_options boost_test_exec_monitor ) ++ boost_test_run("${TESTNAME}_dll" ++ ${TESTNAME}.cpp ++ SHARED ++ DEPENDS boost_program_options ++ "boost_test_exec_monitor${BOOST_TEST_EXEC_MONITOR_SUFFIX}") ++endmacro(program_options_test_run) ++ ++program_options_test_run(options_description_test) ++program_options_test_run(parsers_test) ++program_options_test_run(variable_map_test) ++program_options_test_run(cmdline_test) ++program_options_test_run(positional_options_test) ++program_options_test_run(unicode_test) ++program_options_test_run(winmain) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/property_map/CMakeLists.txt boost-1.44.0-cmake/libs/property_map/CMakeLists.txt +--- boost_1_44_0/libs/property_map/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/property_map/CMakeLists.txt 2010-08-22 00:03:07.318855654 +0200 +@@ -0,0 +1,27 @@ ++# Copyright (C) 2008 Michael Jackson ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ property_map ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/property_map/module.cmake boost-1.44.0-cmake/libs/property_map/module.cmake +--- boost_1_44_0/libs/property_map/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/property_map/module.cmake 2010-08-22 00:03:07.454855614 +0200 +@@ -0,0 +1 @@ ++boost_module(property_map DEPENDS concept_check) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/property_map/test/CMakeLists.txt boost-1.44.0-cmake/libs/property_map/test/CMakeLists.txt +--- boost_1_44_0/libs/property_map/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/property_map/test/CMakeLists.txt 2010-08-22 00:03:07.300854654 +0200 +@@ -0,0 +1,11 @@ ++# Copyright (C) 2008 Michael Jackson ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++boost_additional_test_dependencies(property_map BOOST_DEPENDS test concept_check any) ++ ++boost_test_compile(property_map_cc) ++ ++boost_test_run(dynamic_properties_test) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/proto/CMakeLists.txt boost-1.44.0-cmake/libs/proto/CMakeLists.txt +--- boost_1_44_0/libs/proto/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/proto/CMakeLists.txt 2010-08-22 00:04:29.563854148 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ proto ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ proto ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ # DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users." ++ MODULARIZED ++ # AUTHORS "John Maddock " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/proto/module.cmake boost-1.44.0-cmake/libs/proto/module.cmake +--- boost_1_44_0/libs/proto/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/proto/module.cmake 2010-08-22 00:04:30.024855517 +0200 +@@ -0,0 +1,2 @@ ++boost_module(proto DEPENDS fusion typeof) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/proto/test/CMakeLists.txt boost-1.44.0-cmake/libs/proto/test/CMakeLists.txt +--- boost_1_44_0/libs/proto/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/proto/test/CMakeLists.txt 2010-08-22 00:04:29.469853964 +0200 +@@ -0,0 +1,58 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(proto BOOST_DEPENDS test) ++ ++################################################################################ ++#--- Compiler specific settings ++ ++# GCC ++IF(CMAKE_COMPILER_IS_GNUCC) ++ SET(test_compile_flags "-ftemplate-depth-1024") ++ENDIF(CMAKE_COMPILER_IS_GNUCC) ++ ++# Microsoft Visual Studio ++IF (MSVC71) ++ #TODO// Turn off debug symbols? ++ENDIF(MSVC71) ++IF (MSVC80) ++ SET(test_compile_flags "-D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE") ++ENDIF(MSVC80) ++IF (MSVC90) ++ SET(test_compile_flags "-D_SCL_SECURE_NO_DEPRECATE") ++ENDIF (MSVC90) ++ ++# Intel ++IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ #TODO// Turn off debug symbols? ++ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ ++set (tests ++ calculator ++ deep_copy ++ examples ++ lambda ++ make_expr ++ matches ++ proto_fusion ++ proto_fusion_s ++ toy_spirit ++ toy_spirit2 ++ noinvoke ++) ++ ++ ++ ++ ++#-- Create an executable test for each source ++foreach(test ${tests}) ++ boost_test_run(${test} "${test}.cpp" ++ COMPILE_FLAGS ${test_compile_flags} ++ DEPENDS boost_unit_test_framework) ++endforeach(test ${tests}) ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/ptr_container/CMakeLists.txt boost-1.44.0-cmake/libs/ptr_container/CMakeLists.txt +--- boost_1_44_0/libs/ptr_container/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/ptr_container/CMakeLists.txt 2010-08-22 00:04:27.617854668 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ ptr_container ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ ptr_container ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Containers for storing heap-allocated polymorphic objects to ease OO-programming." ++ MODULARIZED ++ AUTHORS "Thorsten Ottosen " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/ptr_container/module.cmake boost-1.44.0-cmake/libs/ptr_container/module.cmake +--- boost_1_44_0/libs/ptr_container/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/ptr_container/module.cmake 2010-08-22 00:04:27.695854486 +0200 +@@ -0,0 +1 @@ ++boost_module(ptr_container DEPENDS circular_buffer range) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/ptr_container/test/CMakeLists.txt boost-1.44.0-cmake/libs/ptr_container/test/CMakeLists.txt +--- boost_1_44_0/libs/ptr_container/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/ptr_container/test/CMakeLists.txt 2010-08-22 00:04:27.487853927 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(ptr_container BOOST_DEPENDS test assign numeric) ++ ++boost_test_run(ptr_inserter DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_vector DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_list DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_deque DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_set DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_map DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_map_adapter DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_array DEPENDS boost_unit_test_framework) ++boost_test_run(tree_test DEPENDS boost_unit_test_framework) ++boost_test_run(incomplete_type_test DEPENDS boost_unit_test_framework) ++boost_test_run(view_example) ++boost_test_run(iterator_test DEPENDS boost_unit_test_framework) ++boost_test_run(tut1) ++boost_test_run(indirect_fun DEPENDS boost_unit_test_framework) ++boost_test_run(serialization DEPENDS boost_unit_test_framework boost_serialization) ++boost_test_run(no_exceptions DEPENDS boost_unit_test_framework) ++ ++boost_test_run(ptr_unordered_set DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_unordered_map DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_circular_buffer DEPENDS boost_unit_test_framework) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/python/CMakeLists.txt boost-1.44.0-cmake/libs/python/CMakeLists.txt +--- boost_1_44_0/libs/python/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/python/CMakeLists.txt 2010-08-22 00:03:08.623854589 +0200 +@@ -0,0 +1,21 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (PYTHON_FOUND) ++ include_directories(${PYTHON_INCLUDE_PATH}) ++ ++ boost_library_project( ++ Python ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS python.hpp python ++ MODULARIZED ++ DESCRIPTION "A framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler." ++ AUTHORS "David Abrahams " ++ ) ++else () ++ colormsg(RED "+-- disabled since PYTHON_FOUND is false") ++endif () +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/python/module.cmake boost-1.44.0-cmake/libs/python/module.cmake +--- boost_1_44_0/libs/python/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/python/module.cmake 2010-08-22 00:03:08.855855165 +0200 +@@ -0,0 +1,3 @@ ++boost_module(python DEPENDS graph numeric) ++ ++# numeric is there because of boost/cast.hpp from libs/python/src/errors.cpp:11 +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/python/src/CMakeLists.txt boost-1.44.0-cmake/libs/python/src/CMakeLists.txt +--- boost_1_44_0/libs/python/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/python/src/CMakeLists.txt 2010-08-22 00:03:08.605854765 +0200 +@@ -0,0 +1,70 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (PYTHON_DEBUG_LIBRARIES AND BUILD_BOOST_PYTHON) ++ # We have detected that there might be Python debug libraries ++ # available, but check for ourselves whether this is true by trying ++ # to compile/link a program against them. ++ set(CMAKE_REQUIRED_DEFINITIONS "-DBOOST_DEBUG_PYTHON -DPy_DEBUG") ++ get_directory_property(CMAKE_REQUIRED_INCLUDES INCLUDE_DIRECTORIES) ++ set(CMAKE_REQUIRED_LIBRARIES ${PYTHON_DEBUG_LIBRARIES}) ++ set(CHECK_PYDEBUG_SOURCE ++ "#include ") ++ check_cxx_source_compiles( ++ "#include ++ void check(PyObject *obj) { Py_INCREF(obj); } int main() { }" ++ PYDEBUG_CAN_BUILD) ++ ++ # Setup an option to enable/disable building variants with Python ++ # debugging. If we were able to link against the debug libraries, ++ # default to ON; otherwise, default to OFF. ++ option(BUILD_PYTHON_DEBUG ++ "Build an additional Boost.Python library with Python debugging enabled" ++ ${PYDEBUG_CAN_BUILD}) ++endif (PYTHON_DEBUG_LIBRARIES AND BUILD_BOOST_PYTHON) ++ ++# Always build the non-debug variants of the boost_python library ++set(BUILD_PYTHON_NODEBUG ON) ++ ++boost_add_library(python ++ numeric.cpp ++ list.cpp ++ long.cpp ++ dict.cpp ++ tuple.cpp ++ str.cpp ++ slice.cpp ++ converter/from_python.cpp ++ converter/registry.cpp ++ converter/type_id.cpp ++ object/enum.cpp ++ object/class.cpp ++ object/function.cpp ++ object/inheritance.cpp ++ object/life_support.cpp ++ object/pickle_support.cpp ++ errors.cpp ++ module.cpp ++ converter/builtin_converters.cpp ++ converter/arg_to_python_base.cpp ++ object/iterator.cpp ++ object/stl_iterator.cpp ++ object_protocol.cpp ++ object_operators.cpp ++ wrapper.cpp ++ import.cpp ++ exec.cpp ++ object/function_doc_signature.cpp ++ ++ STATIC_COMPILE_FLAGS "-DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB" ++ SHARED_COMPILE_FLAGS "-DBOOST_PYTHON_SOURCE" ++ PYTHON_NODEBUG_LINK_LIBS "${PYTHON_LIBRARIES}" ++ ++ # Support for Python debugging ++ EXTRA_VARIANTS PYTHON_NODEBUG:PYTHON_DEBUG ++ PYTHON_DEBUG_COMPILE_FLAGS "-DBOOST_DEBUG_PYTHON -DPy_DEBUG" ++ PYTHON_DEBUG_LINK_LIBS "${PYTHON_DEBUG_LIBRARIES}" ++ ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/python/test/CMakeLists.txt boost-1.44.0-cmake/libs/python/test/CMakeLists.txt +--- boost_1_44_0/libs/python/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/python/test/CMakeLists.txt 2010-08-22 00:03:08.510980559 +0200 +@@ -0,0 +1,246 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++include_directories(${PYTHON_INCLUDE_PATH}) ++ ++macro(bpl_test TESTNAME) ++ parse_arguments(BPL_TEST ++ "ARGS" ++ "" ++ ${ARGN}) ++ ++ # Determine the Python and C++ source files for this test ++ if (BPL_TEST_DEFAULT_ARGS) ++ # First argument is the Python source we will run, the rest are ++ # either extra Python sources we're dependent on or C++ files from ++ # which we will build extension modules. ++ car(BPL_TEST_PYSOURCE ${BPL_TEST_DEFAULT_ARGS}) ++ cdr(BPL_TEST_DEFAULT_ARGS ${BPL_TEST_DEFAULT_ARGS}) ++ ++ get_filename_component(BPL_TEST_PYBASE ${BPL_TEST_PYSOURCE} NAME_WE) ++ ++ # Process all the .cpp file and extension module names ++ foreach(SRC ${BPL_TEST_DEFAULT_ARGS}) ++ get_filename_component(BPL_SRC_EXT ${SRC} EXT) ++ if (BPL_SRC_EXT STREQUAL ".cpp") ++ ++ # Build a Python extension module from this source file ++ get_filename_component(BPL_SRC_NAME ${SRC} NAME_WE) ++ ++ if(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}_ext) ++ else(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}) ++ endif(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ ++ boost_python_extension(${BPL_EXTENSION_MODULE} ${SRC}) ++ ++ else (BPL_SRC_EXT STREQUAL ".cpp") ++ set(BPL_EXTENSION_MODULE ${SRC}) ++ ++ endif (BPL_SRC_EXT STREQUAL ".cpp") ++ ++ endforeach(SRC ${BPL_TEST_DEFAULT_ARGS}) ++ ++ else (BPL_TEST_DEFAULT_ARGS) ++ ++ set(BPL_TEST_PYSOURCE "${TESTNAME}.py") ++ ++ # Build a Python extension module from this source file ++ boost_python_extension(${TESTNAME}_ext "${TESTNAME}.cpp") ++ ++ endif(BPL_TEST_DEFAULT_ARGS) ++ ++ # We'll need the full patch to run the Python test ++ set(BPL_TEST_PYSOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${BPL_TEST_PYSOURCE}) ++ ++ # Run the test itself ++ ++ if(WIN32) ++ ++ get_target_property(THIS_TEST_LOCATION ${TESTNAME}_ext-mt-shared ++ LOCATION) ++ get_filename_component(THIS_TEST_LOCATION ${THIS_TEST_LOCATION} PATH) ++ ++ string(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}" ++ THIS_TEST_LOCATION "${THIS_TEST_LOCATION}") ++ ++ set(PYTHONPATH ${THIS_TEST_LOCATION}) ++ else() ++ file(TO_NATIVE_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" PYTHONPATH) ++ endif() ++ ++ if(WIN32 AND NOT UNIX) ++ string(REPLACE "\\" "\\\\" PYTHONPATH "${PYTHONPATH}") ++ endif(WIN32 AND NOT UNIX) ++ set(FULL_TESTNAME ${PROJECT_NAME}-${TESTNAME}) ++ add_test(${FULL_TESTNAME} ++ ${VALGRIND_EXECUTABLE} ++ ${VALGRIND_FLAGS} ++ ${PYTHON_EXECUTABLE} ++ "${CMAKE_CURRENT_SOURCE_DIR}/pyrun.py" ++ "${PYTHONPATH}" ++ ${BPL_TEST_PYSOURCE} ${BPL_TEST_ARGS}) ++ ++ set_tests_properties(${FULL_TESTNAME} ++ PROPERTIES ++ LABELS "${PROJECT_NAME}" ++ ) ++endmacro(bpl_test) ++ ++macro(py_run TESTNAME) ++ boost_test_run(${TESTNAME} ++ ${TESTNAME}.cpp ++ DEPENDS boost_python STATIC ++ LINK_LIBS ${PYTHON_LIBRARIES}) ++endmacro(py_run) ++ ++boost_test_run(exec ++ DEPENDS boost_python STATIC ++ ARGS "${CMAKE_CURRENT_SOURCE_DIR}/exec.py" ++ LINK_LIBS ${PYTHON_LIBRARIES}) ++boost_test_run(exec-dynamic ++ exec.cpp ++ ARGS "${CMAKE_CURRENT_SOURCE_DIR}/exec.py" ++ DEPENDS boost_python SHARED ++ LINK_LIBS ${PYTHON_LIBRARIES}) ++ ++bpl_test(crossmod_exception ++ crossmod_exception.py crossmod_exception_a.cpp crossmod_exception_b.cpp) ++ ++bpl_test(injected) ++bpl_test(properties) ++bpl_test(return_arg) ++bpl_test(staticmethod) ++bpl_test(shared_ptr) ++bpl_test(andreas_beyer) ++bpl_test(polymorphism) ++bpl_test(polymorphism2) ++ ++bpl_test(wrapper_held_type) ++bpl_test(polymorphism2_auto_ptr) ++ ++bpl_test(auto_ptr) ++ ++bpl_test(minimal) ++bpl_test(args) ++bpl_test(raw_ctor) ++bpl_test(numpy numpy.py printer.py numeric_tests.py numarray_tests.py numpy.cpp) ++bpl_test(enum) ++bpl_test(exception_translator) ++bpl_test(pearu1 test_cltree.py cltree.cpp) ++bpl_test(try newtest.py m1.cpp m2.cpp) ++bpl_test(const_argument) ++bpl_test(keywords keywords_test.py keywords.cpp) ++ ++boost_python_extension(builtin_converters_ext test_builtin_converters.cpp) ++bpl_test(builtin_converters test_builtin_converters.py builtin_converters_ext) ++ ++# ++# See the contents of this file for more details on an existing ++# overload resoluton bug. ++# ++# boost_python_extension(overload_resolution test_overload_resolution.cpp) ++# ++ ++bpl_test(test_pointer_adoption) ++bpl_test(operators) ++bpl_test(callbacks) ++bpl_test(defaults) ++ ++bpl_test(object) ++bpl_test(list) ++bpl_test(long) ++bpl_test(dict) ++bpl_test(str) ++bpl_test(slice) ++ ++bpl_test(virtual_functions) ++bpl_test(back_reference) ++bpl_test(implicit) ++bpl_test(data_members) ++ ++bpl_test(ben_scott1) ++ ++bpl_test(bienstman1) ++bpl_test(bienstman2) ++bpl_test(bienstman3) ++ ++bpl_test(multi_arg_constructor) ++# TODO: A bug in the Win32 intel compilers causes compilation of one ++# of our tests to take forever when debug symbols are ++# enabled. This rule turns them off when added to the requirements ++# section ++# intel-win:off ++ ++bpl_test(iterator iterator.py iterator.cpp input_iterator.cpp) ++ ++bpl_test(stl_iterator stl_iterator.py stl_iterator.cpp) ++ ++bpl_test(extract) ++ ++bpl_test (crossmod_opaque ++ crossmod_opaque.py crossmod_opaque_a.cpp crossmod_opaque_b.cpp) ++ ++bpl_test(opaque) ++bpl_test(voidptr) ++ ++bpl_test(pickle1) ++bpl_test(pickle2) ++bpl_test(pickle3) ++bpl_test(pickle4) ++ ++bpl_test(nested) ++ ++bpl_test(docstring) ++ ++bpl_test(vector_indexing_suite) ++ ++bpl_test(pointer_vector) ++# TODO: Turn off this test on HP CXX, as the test hangs when executing. ++# Whenever the cause for the failure of the polymorphism test is found ++# and fixed, this should be retested. ++# hp_cxx:no ++ ++boost_python_extension(map_indexing_suite_ext ++ map_indexing_suite.cpp int_map_indexing_suite.cpp a_map_indexing_suite.cpp) ++ ++bpl_test(map_indexing_suite ++ map_indexing_suite.py map_indexing_suite_ext) ++ ++ ++# --- unit tests of library components --- ++ ++boost_test_compile(indirect_traits_test) ++boost_test_run(destroy_test) ++py_run(pointer_type_id_test) ++py_run(bases) ++boost_test_run(if_else) ++py_run(pointee) ++boost_test_run(result) ++ ++boost_test_compile(string_literal) ++boost_test_compile(borrowed) ++boost_test_compile(object_manager) ++boost_test_compile(copy_ctor_mutates_rhs) ++ ++py_run(upcast) ++ ++boost_test_compile(select_holder) ++ ++boost_test_run(select_from_python_test ++ select_from_python_test.cpp ../src/converter/type_id.cpp ++ COMPILE_FLAGS "-DBOOST_PYTHON_STATIC_LIB" ++ LINK_LIBS ${PYTHON_LIBRARIES}) ++ ++boost_test_compile(select_arg_to_python_test) ++ ++boost_test_compile_fail(raw_pyobject_fail1) ++boost_test_compile_fail(raw_pyobject_fail2) ++boost_test_compile_fail(as_to_python_function) ++boost_test_compile_fail(object_fail1) ++ ++bpl_test(tuple) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/random/CMakeLists.txt boost-1.44.0-cmake/libs/random/CMakeLists.txt +--- boost_1_44_0/libs/random/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/random/CMakeLists.txt 2010-08-22 00:04:38.597979028 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ random.hpp ++ random ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ random ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A complete system for random number generation." ++ MODULARIZED ++ AUTHORS "Jens Maurer " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/random/module.cmake boost-1.44.0-cmake/libs/random/module.cmake +--- boost_1_44_0/libs/random/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/random/module.cmake 2010-08-22 00:04:38.656980378 +0200 +@@ -0,0 +1,3 @@ ++boost_module(random DEPENDS detail integer type_traits static_assert) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/random/test/CMakeLists.txt boost-1.44.0-cmake/libs/random/test/CMakeLists.txt +--- boost_1_44_0/libs/random/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/random/test/CMakeLists.txt 2010-08-22 00:04:38.588980882 +0200 +@@ -0,0 +1,34 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(random BOOST_DEPENDS test) ++ ++foreach(test ++ rand48 ++ minstd_rand0 ++ minstd_rand ++ ecuyer1988 ++ kreutzer1986 ++ hellekalek1995 ++ mt11213b ++ mt19937 ++ lagged_fibonacci ++ lagged_fibonacci607 ++ ranlux3 ++ ranlux4 ++ ranlux3_01 ++ ranlux4_01 ++ ranlux64_3_01 ++ ranlux64_4_01 ++ taus88) ++ boost_test_run(test_${test} ++ ../instantiate.cpp ++ COMPILE_FLAGS -DBOOST_RANDOM_URNG_TEST=${test} ++ ) ++endforeach() ++ ++boost_test_run(random_test ../random_test.cpp) ++boost_test_run(random_demo ../random_demo.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/range/CMakeLists.txt boost-1.44.0-cmake/libs/range/CMakeLists.txt +--- boost_1_44_0/libs/range/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/range/CMakeLists.txt 2010-08-22 00:03:24.061122780 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ range.hpp ++ range ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ range ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ DESCRIPTION "A new infrastructure for generic algorithms that builds on top of the new iterator concepts." ++ MODULARIZED ++ AUTHORS "Thorsten Ottosen " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/range/doc/CMakeLists.txt boost-1.44.0-cmake/libs/range/doc/CMakeLists.txt +--- boost_1_44_0/libs/range/doc/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/range/doc/CMakeLists.txt 2010-08-22 00:03:24.808979748 +0200 +@@ -0,0 +1,7 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_documentation(boost_range.qbk) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/range/module.cmake boost-1.44.0-cmake/libs/range/module.cmake +--- boost_1_44_0/libs/range/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/range/module.cmake 2010-08-22 00:03:25.557979252 +0200 +@@ -0,0 +1 @@ ++boost_module(range DEPENDS algorithm) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/range/test/CMakeLists.txt boost-1.44.0-cmake/libs/range/test/CMakeLists.txt +--- boost_1_44_0/libs/range/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/range/test/CMakeLists.txt 2010-08-22 00:03:23.611854932 +0200 +@@ -0,0 +1,25 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(range BOOST_DEPENDS test) ++ ++message(STATUS "libs/range/test: need -Wall -Wunused here when under gcc") ++set( test_compile_flags "") ++IF(CMAKE_COMPILER_IS_GNUCC) ++ SET(test_compile_flags "-Wall -Wunused") ++ENDIF(CMAKE_COMPILER_IS_GNUCC) ++ ++boost_test_run(array DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(iterator_pair DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(std_container DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(string DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(iterator_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(sub_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(partial_workaround DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(algorithm_example DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(reversible_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(const_ranges DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(extension_mechanism DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/rational/CMakeLists.txt boost-1.44.0-cmake/libs/rational/CMakeLists.txt +--- boost_1_44_0/libs/rational/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/rational/CMakeLists.txt 2010-08-22 00:04:37.805979812 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ rational.hpp ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ rational ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/rational/module.cmake boost-1.44.0-cmake/libs/rational/module.cmake +--- boost_1_44_0/libs/rational/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/rational/module.cmake 2010-08-22 00:04:37.818979925 +0200 +@@ -0,0 +1 @@ ++boost_module (rational DEPENDS config math static_assert utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/rational/test/CMakeLists.txt boost-1.44.0-cmake/libs/rational/test/CMakeLists.txt +--- boost_1_44_0/libs/rational/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/rational/test/CMakeLists.txt 2010-08-22 00:04:37.802980792 +0200 +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(gil BOOST_DEPENDS test) ++ ++ ++boost_test_run(rational_example rational_example.cpp) ++boost_test_run(rational_test ++ rational_test.cpp ++ DEPENDS boost_unit_test_framework ++ ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/regex/CMakeLists.txt boost-1.44.0-cmake/libs/regex/CMakeLists.txt +--- boost_1_44_0/libs/regex/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/regex/CMakeLists.txt 2010-08-22 00:04:22.094147425 +0200 +@@ -0,0 +1,51 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ regex.h ++ regex.hpp ++ regex_fwd.hpp ++ regex ++ cregex.hpp ++) ++ ++# TODO: Default to multi-threaded? ++# ++# Used in test/ and examples/ ++# ++macro(regex_test TESTNAME) ++ parse_arguments(REGEX_TEST "" "" ${ARGN}) ++ ++ if (REGEX_TEST_DEFAULT_ARGS) ++ set(REGEX_TEST_SOURCES ${REGEX_TEST_DEFAULT_ARGS}) ++ else (REGEX_TEST_DEFAULT_ARGS) ++ set(REGEX_TEST_SOURCES "${TESTNAME}.cpp") ++ endif (REGEX_TEST_DEFAULT_ARGS) ++ ++ boost_test_run(${TESTNAME} ${REGEX_TEST_SOURCES} ++ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1" ++ DEPENDS boost_regex ++ EXTRA_OPTIONS SHARED) ++endmacro(regex_test) ++ ++# Add a library target to the build system ++boost_library_project( ++ regex ++ SRCDIRS src ++ TESTDIRS test ++ EXAMPLEDIRS example ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A regular expression library" ++ MODULARIZED ++ AUTHORS "John Maddock " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/regex/example/CMakeLists.txt boost-1.44.0-cmake/libs/regex/example/CMakeLists.txt +--- boost_1_44_0/libs/regex/example/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/regex/example/CMakeLists.txt 2010-08-22 00:04:21.751855095 +0200 +@@ -0,0 +1,76 @@ ++# # copyright John Maddock 2003 ++# # Distributed under the Boost Software License, Version 1.0. ++# # (See accompanying file LICENSE_1_0.txt or copy at ++# # http://www.boost.org/LICENSE_1_0.txt. ++# ++# project ++# : requirements ++# multi ++# shared:BOOST_REGEX_DYN_LINK=1 ++# # There are unidentified linker problems on these platforms: ++# mipspro-7.4:static ++# sun-5.9:static ++# ; ++# ++# ++# rule regex-test-run ( sources + : input * : name * ) ++# { ++# return [ ++# run ++# # sources ++# $(sources) ++# # dependencies ++# ../build//boost_regex ++# : # additional args ++# $(input) ++# : # test-files ++# : # requirements ++# msvc-7.1:TEST_MFC=1 msvc-7.0:TEST_MFC=1 ++# : # test name ++# $(name) ++# ] ; ++# } ++# ++# test-suite regex-examples : ++ ++ ++ ++regex_test(regex_timer timer/regex_timer.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/example/timer/input_script.txt ) ++#regex_test(regex-test-run grep/grep.cpp ../../program_options/build//boost_program_options/static -n -b ${CMAKE_SOURCE_DIR}/boost/regex.hpp ${CMAKE_SOURCE_DIR}/boost/type_traits.hpp : test_grep ) ++regex_test(credit_card_example snippets/credit_card_example.cpp DEPENDS boost_regex) ++regex_test(mfc_example snippets/mfc_example.cpp ) ++regex_test(icu_example snippets/icu_example.cpp ) ++regex_test(partial_regex_grep snippets/partial_regex_grep.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/index.htm ) ++regex_test(partial_regex_iterate snippets/partial_regex_iterate.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/index.htm ) ++regex_test(partial_regex_match snippets/partial_regex_match.cpp ARGS 1234-5678-8765-4 ) ++regex_test(regex_grep_example_1 snippets/regex_grep_example_1.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_grep_example_2 snippets/regex_grep_example_2.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_grep_example_3 snippets/regex_grep_example_3.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_grep_example_4 snippets/regex_grep_example_4.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_match_example snippets/regex_match_example.cpp ARGS -auto ) ++regex_test(regex_merge_example snippets/regex_merge_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_replace_example snippets/regex_replace_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_search_example snippets/regex_search_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_split_example_1 snippets/regex_split_example_1.cpp ARGS -auto ) ++regex_test(regex_split_example_2 snippets/regex_split_example_2.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/doc/html/index.html ) ++regex_test(regex_token_iterator_eg_1 snippets/regex_token_iterator_eg_1.cpp ARGS -auto ) ++regex_test(regex_token_iterator_eg_2 snippets/regex_token_iterator_eg_2.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/doc/html/index.html ) ++regex_test(regex_iterator_example snippets/regex_iterator_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++ ++#boost_test_run(run snippets/captures_example.cpp ++# ../test/captures//boost_regex_extra ++# : : : multi BOOST_REGEX_MATCH_EXTRA=1 ] ++ ++#; ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/regex/module.cmake boost-1.44.0-cmake/libs/regex/module.cmake +--- boost_1_44_0/libs/regex/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/regex/module.cmake 2010-08-22 00:04:22.551854887 +0200 +@@ -0,0 +1 @@ ++boost_module(regex DEPENDS date_time thread) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/regex/src/CMakeLists.txt boost-1.44.0-cmake/libs/regex/src/CMakeLists.txt +--- boost_1_44_0/libs/regex/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/regex/src/CMakeLists.txt 2010-08-22 00:04:22.067855791 +0200 +@@ -0,0 +1,51 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++set(BOOST_REGEX_ICU_LIBRARIES) ++ ++if (ICU_FOUND AND ICU_I18N_FOUND) ++ ++ add_definitions(-DBOOST_HAS_ICU=1) ++ include_directories(${ICU_INCLUDE_DIRS}) ++ set(BOOST_REGEX_ICU_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}) ++ colormsg(GREEN "+-- ICU (unicode) available, enabling support.") ++ set(NO_STATIC_IF_ICU_FOUND "NO_STATIC") ++ ++else() ++ ++ colormsg(CYAN "+-- ICU (unicode) not available, disabling support.") ++ ++endif() ++ ++boost_add_library(regex ++ ++ c_regex_traits.cpp ++ cpp_regex_traits.cpp ++ cregex.cpp ++ fileiter.cpp ++ icu.cpp ++ instances.cpp ++ posix_api.cpp ++ regex.cpp ++ regex_debug.cpp ++ regex_raw_buffer.cpp ++ regex_traits_defaults.cpp ++ static_mutex.cpp ++ w32_regex_traits.cpp ++ wc_regex_traits.cpp ++ wide_posix_api.cpp ++ winstances.cpp ++ usinstances.cpp ++ ++ LINK_LIBS ${BOOST_REGEX_ICU_LIBRARIES} ++ SHARED_COMPILE_FLAGS -DBOOST_REGEX_DYN_LINK=1 ++ ${NO_STATIC_IF_ICU_FOUND} ++ ) ++ ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/regex/test/CMakeLists.txt boost-1.44.0-cmake/libs/regex/test/CMakeLists.txt +--- boost_1_44_0/libs/regex/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/regex/test/CMakeLists.txt 2010-08-22 00:04:21.969854995 +0200 +@@ -0,0 +1,93 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(regex BOOST_DEPENDS test) ++ ++set(R_SOURCES ++ regress/basic_tests.cpp ++ regress/main.cpp ++ regress/test_alt.cpp ++ regress/test_anchors.cpp ++ regress/test_asserts.cpp ++ regress/test_backrefs.cpp ++ regress/test_deprecated.cpp ++ regress/test_emacs.cpp ++ regress/test_escapes.cpp ++ regress/test_grep.cpp ++ regress/test_locale.cpp ++ regress/test_mfc.cpp ++ regress/test_non_greedy_repeats.cpp ++ regress/test_perl_ex.cpp ++ regress/test_replace.cpp ++ regress/test_sets.cpp ++ regress/test_simple_repeats.cpp ++ regress/test_tricky_cases.cpp ++ regress/test_icu.cpp ++ regress/test_unicode.cpp ++ regress/test_overloads.cpp ++ regress/test_operators.cpp ++ ) ++ ++if (NOT ICU_FOUND) ++ # static tests eliminiated if ICU is found ++ boost_test_run(regex_regress ${R_SOURCES} ++ DEPENDS boost_regex STATIC) ++endif() ++ ++boost_test_run(regex_regress_dll ${R_SOURCES} ++ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1" ++ DEPENDS boost_regex ++ EXTRA_OPTIONS SHARED) ++ ++boost_test_run(regex_regress_threaded ${R_SOURCES} ++ COMPILE_FLAGS "-DTEST_THREADS -DBOOST_REGEX_DYN_LINK=1" ++ DEPENDS boost_regex boost_thread ++ EXTRA_OPTIONS SHARED MULTI_THREADED) ++ ++regex_test(posix_api_check c_compiler_checks/posix_api_check.c) ++boost_test_compile(wide_posix_api_check_c c_compiler_checks/wide_posix_api_check.c) ++regex_test(posix_api_check_cpp c_compiler_checks/wide_posix_api_check.cpp) ++regex_test(bad_expression_test pathology/bad_expression_test.cpp) ++regex_test(recursion_test pathology/recursion_test.cpp) ++regex_test(unicode_iterator_test unicode/unicode_iterator_test.cpp) ++ ++boost_test_run(static_mutex_test static_mutex/static_mutex_test.cpp ++ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1" ++ DEPENDS boost_regex boost_thread ++ EXTRA_OPTIONS MULTI_THREADED SHARED) ++ ++regex_test(object_cache_test object_cache/object_cache_test.cpp) ++ ++if(NOT ICU_FOUND) ++ boost_test_run(regex_config_info config_info/regex_config_info.cpp ++ DEPENDS boost_regex ++ EXTRA_OPTIONS STATIC) ++endif() ++ ++boost_test_run(regex_dll_config_info config_info/regex_config_info.cpp ++ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1" ++ DEPENDS boost_regex ++ EXTRA_OPTIONS SHARED) ++ ++regex_test(test_collate_info collate_info/collate_info.cpp) ++ ++boost_test_compile(concept_check concepts/concept_check.cpp) ++boost_test_compile(ice_concept_check concepts/icu_concept_check.cpp) ++ ++# TODO: Deal with this ++ # [ run ++ # sources ++# captures/captures_test.cpp ++ # captures//boost_regex_extra ++ #: # additional args ++ #: # test-files ++ #: # requirements ++ # multi ++ # BOOST_REGEX_MATCH_EXTRA=1 ++ # BOOST_REGEX_NO_LIB=1 ++# : # test name ++ # captures_test ++# ] +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/serialization/CMakeLists.txt boost-1.44.0-cmake/libs/serialization/CMakeLists.txt +--- boost_1_44_0/libs/serialization/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/serialization/CMakeLists.txt 2010-08-22 00:03:39.632066829 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ serialization ++ archive ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ serialization ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Serialization for persistence and marshalling." ++ MODULARIZED ++ AUTHORS "" ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/serialization/module.cmake boost-1.44.0-cmake/libs/serialization/module.cmake +--- boost_1_44_0/libs/serialization/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/serialization/module.cmake 2010-08-22 00:03:39.988856765 +0200 +@@ -0,0 +1,3 @@ ++boost_module(serialization DEPENDS spirit io bind array variant) ++ ++# bind is in there because we have a dependency on boost/mem_fn.hpp +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/serialization/src/CMakeLists.txt boost-1.44.0-cmake/libs/serialization/src/CMakeLists.txt +--- boost_1_44_0/libs/serialization/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/serialization/src/CMakeLists.txt 2010-08-22 00:03:39.598857061 +0200 +@@ -0,0 +1,56 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++boost_add_library(serialization ++ ++ basic_archive.cpp ++ basic_iarchive.cpp ++ basic_iserializer.cpp ++ basic_oarchive.cpp ++ basic_oserializer.cpp ++ basic_pointer_iserializer.cpp ++ basic_pointer_oserializer.cpp ++ basic_serializer_map.cpp ++ basic_text_iprimitive.cpp ++ basic_text_oprimitive.cpp ++ basic_xml_archive.cpp ++ binary_iarchive.cpp ++ binary_oarchive.cpp ++ extended_type_info.cpp ++ extended_type_info_typeid.cpp ++ extended_type_info_no_rtti.cpp ++ polymorphic_iarchive.cpp ++ polymorphic_oarchive.cpp ++ stl_port.cpp ++ text_iarchive.cpp ++ text_oarchive.cpp ++ void_cast.cpp ++ archive_exception.cpp ++ xml_grammar.cpp ++ xml_iarchive.cpp ++ xml_oarchive.cpp ++ xml_archive_exception.cpp ++ shared_ptr_helper.cpp ++ ++ SHARED_COMPILE_FLAGS -DBOOST_SERIALIZATION_DYN_LINK=1 ++ ) ++ ++boost_add_library(wserialization ++ ++ basic_text_wiprimitive.cpp ++ basic_text_woprimitive.cpp ++ text_wiarchive.cpp ++ text_woarchive.cpp ++ utf8_codecvt_facet.cpp ++ xml_wgrammar.cpp ++ xml_wiarchive.cpp ++ xml_woarchive.cpp ++ codecvt_null.cpp ++ ++ SHARED_COMPILE_FLAGS -DBOOST_SERIALIZATION_DYN_LINK=1 ++ DEPENDS boost_serialization ++ ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/serialization/test/CMakeLists.txt boost-1.44.0-cmake/libs/serialization/test/CMakeLists.txt +--- boost_1_44_0/libs/serialization/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/serialization/test/CMakeLists.txt 2010-08-22 00:03:39.468854729 +0200 +@@ -0,0 +1,184 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# The set of archives that we will use for testing the Serialization ++# library ++set(BOOST_ARCHIVE_LIST ++ "text_archive" ++ "text_warchive" ++ "binary_archive" ++ "xml_archive" ++ "xml_warchive" ++ ) ++ ++# The serialization_test macro declares a set of tests of the ++# serialization library. For each invocation of serialization_test, ++# this macro will build separate static and dynamic tests. ++macro(serialization_test testname) ++ parse_arguments(BSL_TEST "" "NO_LIBS;POLYMORPHIC" ${ARGN}) ++ ++ if(NOT BSL_TEST_DEFAULT_ARGS) ++ set(BSL_TEST_SOURCES "${testname}.cpp") ++ else(NOT BSL_TEST_DEFAULT_ARGS) ++ set(BSL_TEST_SOURCES "${BSL_TEST_DEFAULT_ARGS}") ++ endif(NOT BSL_TEST_DEFAULT_ARGS) ++ ++ if (BSL_TEST_POLYMORPHIC) ++ set(BSL_TEST_POLY "polymorphic_") ++ elseif(BSL_TEST_POLYMORPHIC) ++ set(BSL_TEST_POLY "") ++ endif(BSL_TEST_POLYMORPHIC) ++ ++ set(BSL_TEST_LIBRARIES) ++ if(NOT BSL_NO_LIBS) ++ set(BSL_TEST_LIBRARIES "boost_serialization") ++ endif(NOT BSL_NO_LIBS) ++ ++ # Tests linking against the static serialization library ++ boost_test_run("${testname}" ++ ${BSL_TEST_SOURCES} ++ STATIC ++ DEPENDS ${BSL_TEST_LIBRARIES} ++ COMPILE_FLAGS "-DBOOST_LIB_DIAGNOSTIC=1") ++ ++ # Tests linking against the shared serialization library ++ boost_test_run("${testname}_dll" ++ ${BSL_TEST_SOURCES} ++ SHARED ++ DEPENDS ${BSL_TEST_LIBRARIES} ++ COMPILE_FLAGS "-DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_ALL_DYN_LINK=1") ++endmacro(serialization_test) ++ ++# Like serialization_test, but runs the same test for all archive types. ++macro(serialization_test_allarchives testname) ++ parse_arguments(BSL_TEST "" "NO_LIBS;POLYMORPHIC" ${ARGN}) ++ ++ if(NOT BSL_TEST_DEFAULT_ARGS) ++ set(BSL_TEST_SOURCES "${testname}.cpp") ++ else(NOT BSL_TEST_DEFAULT_ARGS) ++ set(BSL_TEST_SOURCES "${BSL_TEST_DEFAULT_ARGS}") ++ endif(NOT BSL_TEST_DEFAULT_ARGS) ++ ++ if (BSL_TEST_POLYMORPHIC) ++ set(BSL_TEST_POLY "polymorphic_") ++ elseif(BSL_TEST_POLYMORPHIC) ++ set(BSL_TEST_POLY "") ++ endif(BSL_TEST_POLYMORPHIC) ++ ++ foreach(ARCHIVE ${BOOST_ARCHIVE_LIST}) ++ set(BSL_TEST_LIBRARIES) ++ if(NOT BSL_NO_LIBS) ++ set(BSL_TEST_LIBRARIES "boost_serialization") ++ if(ARCHIVE MATCHES ".*warchive") ++ set(BSL_TEST_LIBRARIES "boost_wserialization" ${BSL_TEST_LIBRARIES}) ++ endif(ARCHIVE MATCHES ".*warchive") ++ endif(NOT BSL_NO_LIBS) ++ ++ # Tests linking against the static serialization library ++ boost_test_run("${testname}_${ARCHIVE}" ++ ${BSL_TEST_SOURCES} ++ STATIC ++ DEPENDS ${BSL_TEST_LIBRARIES} ++ COMPILE_FLAGS "-DBOOST_ARCHIVE_TEST=${BSL_TEST_POLY}${ARCHIVE}.hpp -DBOOST_LIB_DIAGNOSTIC=1") ++ ++ # Tests linking against the shared serialization library ++ boost_test_run("${testname}_${ARCHIVE}_dll" ++ ${BSL_TEST_SOURCES} ++ SHARED ++ DEPENDS ${BSL_TEST_LIBRARIES} ++ COMPILE_FLAGS "-DBOOST_ARCHIVE_TEST=${BSL_TEST_POLY}${ARCHIVE}.hpp -DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_ALL_DYN_LINK=1") ++ endforeach(ARCHIVE ${BOOST_ARCHIVE_LIST}) ++endmacro(serialization_test_allarchives) ++ ++boost_additional_test_dependencies(serialization BOOST_DEPENDS test) ++ ++ ++serialization_test_allarchives(test_array test_array.cpp A.cpp) ++serialization_test_allarchives(test_binary) ++serialization_test_allarchives(test_complex) ++serialization_test_allarchives(test_contained_class test_contained_class.cpp A.cpp) ++serialization_test_allarchives(test_cyclic_ptrs test_cyclic_ptrs.cpp A.cpp) ++serialization_test_allarchives(test_delete_pointer) ++serialization_test_allarchives(test_deque test_deque.cpp A.cpp) ++# serialization_test_allarchives(test_derived) ++serialization_test_allarchives(test_derived_class test_derived_class.cpp A.cpp) ++serialization_test_allarchives(test_derived_class_ptr test_derived_class_ptr.cpp A.cpp) ++serialization_test_allarchives(test_diamond) ++serialization_test_allarchives(test_exported test_exported.cpp polymorphic_base.cpp) ++serialization_test_allarchives(test_class_info_save) ++serialization_test_allarchives(test_class_info_load) ++serialization_test_allarchives(test_object) ++serialization_test_allarchives(test_primitive) ++serialization_test_allarchives(test_list test_list.cpp A.cpp) ++serialization_test_allarchives(test_list_ptrs test_list_ptrs.cpp A.cpp) ++serialization_test_allarchives(test_map test_map.cpp A.cpp) ++serialization_test_allarchives(test_mi) ++serialization_test_allarchives(test_multiple_ptrs test_multiple_ptrs.cpp A.cpp) ++serialization_test_allarchives(test_no_rtti test_no_rtti.cpp ++ polymorphic_base.cpp polymorphic_derived1.cpp polymorphic_derived2.cpp) ++serialization_test_allarchives(test_non_intrusive) ++serialization_test_allarchives(test_non_default_ctor) ++serialization_test_allarchives(test_non_default_ctor2) ++serialization_test_allarchives(test_null_ptr) ++serialization_test_allarchives(test_nvp test_nvp.cpp A.cpp) ++serialization_test_allarchives(test_recursion test_recursion.cpp A.cpp) ++serialization_test_allarchives(test_registered) ++serialization_test_allarchives(test_set test_set.cpp A.cpp) ++serialization_test_allarchives(test_simple_class test_simple_class.cpp A.cpp) ++serialization_test_allarchives(test_simple_class_ptr test_simple_class_ptr.cpp A.cpp) ++serialization_test_allarchives(test_split) ++serialization_test_allarchives(test_tracking) ++serialization_test_allarchives(test_unregistered) ++serialization_test_allarchives(test_valarray) ++serialization_test_allarchives(test_variant test_variant.cpp A.cpp) ++serialization_test_allarchives(test_vector test_vector.cpp A.cpp) ++serialization_test_allarchives(test_optional) ++serialization_test_allarchives(test_shared_ptr) ++serialization_test_allarchives(test_shared_ptr_132) ++serialization_test_allarchives(test_polymorphic POLYMORPHIC ++ test_polymorphic.cpp test_polymorphic_A.cpp A.cpp) ++ ++serialization_test(test_private_ctor) ++serialization_test(test_reset_object_address test_reset_object_address.cpp A.cpp) ++serialization_test(test_void_cast) ++serialization_test(test_mult_archive_types) ++ ++serialization_test(test_iterators NO_LIBS) ++serialization_test(test_iterators_base64 NO_LIBS) ++serialization_test(test_inclusion NO_LIBS) ++serialization_test(test_smart_cast NO_LIBS) ++ ++serialization_test(test_utf8_codecvt ++ test_utf8_codecvt.cpp ../src/utf8_codecvt_facet.cpp NO_LIBS) ++ ++serialization_test(test_serialization_iterators test_iterators.cpp NO_LIBS) ++serialization_test(test_static_warning NO_LIBS) ++serialization_test(test_codecvt_null ++ test_codecvt_null.cpp ../src/codecvt_null.cpp NO_LIBS) ++ ++# should fail compilation ++boost_test_compile_fail(test_not_serializable) ++boost_test_compile_fail(test_traits_fail) ++boost_test_compile_fail(test_const_load_fail1) ++boost_test_compile_fail(test_const_load_fail2) ++boost_test_compile_fail(test_const_load_fail3) ++boost_test_compile_fail(test_const_load_fail1_nvp) ++boost_test_compile_fail(test_const_load_fail2_nvp) ++boost_test_compile_fail(test_const_load_fail3_nvp) ++ ++boost_test_compile(test_static_warning) ++boost_test_compile(test_const_save_warn1) ++boost_test_compile(test_const_save_warn2) ++boost_test_compile(test_const_save_warn3) ++ ++# note - library unable to detect there errors for now ++#boost_test_compile_fail(test_const_save_fail1_nvp) ++#boost_test_compile_fail(test_const_save_fail2_nvp) ++#boost_test_compile_fail(test_const_save_fail3_nvp) ++ ++# should compile ++boost_test_compile(test_traits_pass) ++boost_test_compile(test_const_pass) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/signals/CMakeLists.txt boost-1.44.0-cmake/libs/signals/CMakeLists.txt +--- boost_1_44_0/libs/signals/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/signals/CMakeLists.txt 2010-08-22 00:04:28.472018996 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ signals.hpp ++ signal.hpp ++ signals ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ signals ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Managed signals & slots callback implementation." ++ MODULARIZED ++ AUTHORS "Douglas Gregor " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/signals/module.cmake boost-1.44.0-cmake/libs/signals/module.cmake +--- boost_1_44_0/libs/signals/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/signals/module.cmake 2010-08-22 00:04:28.512854530 +0200 +@@ -0,0 +1,3 @@ ++boost_module(signals DEPENDS smart_ptr any intrusive bind) ++ ++# bind is here due to a dependency on /boost/mem_fn.hpp +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/signals/src/CMakeLists.txt boost-1.44.0-cmake/libs/signals/src/CMakeLists.txt +--- boost_1_44_0/libs/signals/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/signals/src/CMakeLists.txt 2010-08-22 00:04:28.406855518 +0200 +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++add_definitions(-DBOOST_SIGNALS_NO_LIB=1) ++ ++boost_add_library( ++ signals ++ trackable.cpp connection.cpp named_slot_map.cpp signal_base.cpp slot.cpp ++ SHARED_COMPILE_FLAGS "-DBOOST_SIGNALS_DYN_LINK=1" ++ ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/signals/test/CMakeLists.txt boost-1.44.0-cmake/libs/signals/test/CMakeLists.txt +--- boost_1_44_0/libs/signals/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/signals/test/CMakeLists.txt 2010-08-22 00:04:28.356856981 +0200 +@@ -0,0 +1,15 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(signals BOOST_DEPENDS test optional) ++ ++ ++boost_test_run(dead_slot_test DEPENDS boost_signals) ++boost_test_run(deletion_test DEPENDS boost_signals) ++boost_test_run(ordering_test DEPENDS boost_signals) ++boost_test_run(signal_n_test DEPENDS boost_signals) ++boost_test_run(signal_test DEPENDS boost_signals) ++boost_test_run(trackable_test DEPENDS boost_signals) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/signals2/CMakeLists.txt boost-1.44.0-cmake/libs/signals2/CMakeLists.txt +--- boost_1_44_0/libs/signals2/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/signals2/CMakeLists.txt 2010-08-22 00:03:03.881979828 +0200 +@@ -0,0 +1,19 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++# Add a library target to the build system ++boost_library_project( ++ signals2 ++ TESTDIRS test ++ HEADERS signals2.hpp signals2 ++ # DOCDIRS ++ DESCRIPTION "The Boost.Signals2 library is an implementation of a managed signals and slots system. Signals represent callbacks with multiple targets, and are also called publishers or events in similar systems. Signals are connected to some set of slots, which are callback receivers (also called event targets or subscribers), which are called when the signal is \"emitted.\"" ++ MODULARIZED ++ AUTHORS "Frank Mori Hess " ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/signals2/module.cmake boost-1.44.0-cmake/libs/signals2/module.cmake +--- boost_1_44_0/libs/signals2/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/signals2/module.cmake 2010-08-22 00:03:03.971854409 +0200 +@@ -0,0 +1 @@ ++boost_module(signals2 DEPENDS thread) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/signals2/test/CMakeLists.txt boost-1.44.0-cmake/libs/signals2/test/CMakeLists.txt +--- boost_1_44_0/libs/signals2/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/signals2/test/CMakeLists.txt 2010-08-22 00:03:03.863856263 +0200 +@@ -0,0 +1,26 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++foreach(test ++ connection_test ++ dead_slot_test ++ deconstruct_test ++ deletion_test ++ ordering_test ++ regression_test ++ shared_connection_block_test ++ signal_n_test ++ signal_test ++ signal_type_test ++ slot_compile_test ++ trackable_test ++ track_test ++ ) ++ boost_test_run(${test} DEPENDS boost_test_exec_monitor) ++endforeach() ++ ++boost_test_run(mutex_test DEPENDS boost_thread) ++boost_test_run(threading_models_test DEPENDS boost_thread) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/smart_ptr/CMakeLists.txt boost-1.44.0-cmake/libs/smart_ptr/CMakeLists.txt +--- boost_1_44_0/libs/smart_ptr/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/smart_ptr/CMakeLists.txt 2010-08-22 00:04:28.766855036 +0200 +@@ -0,0 +1,36 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ enable_shared_from_this.hpp ++ pointer_cast.hpp ++ scoped_array.hpp ++ scoped_ptr.hpp ++ shared_array.hpp ++ shared_ptr.hpp ++ weak_ptr.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ smart_ptr ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Five smart pointer class templates." ++ MODULARIZED ++ AUTHORS "Greg Colvin" ++ "Beman Dawes " ++ "Peter Dimov " ++ "Darin Adler" ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/smart_ptr/module.cmake boost-1.44.0-cmake/libs/smart_ptr/module.cmake +--- boost_1_44_0/libs/smart_ptr/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/smart_ptr/module.cmake 2010-08-22 00:04:28.788854500 +0200 +@@ -0,0 +1 @@ ++boost_module(smart_ptr DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/smart_ptr/test/CMakeLists.txt boost-1.44.0-cmake/libs/smart_ptr/test/CMakeLists.txt +--- boost_1_44_0/libs/smart_ptr/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/smart_ptr/test/CMakeLists.txt 2010-08-22 00:04:28.626855349 +0200 +@@ -0,0 +1,56 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(tokenizer BOOST_DEPENDS test intrusive) ++ ++ ++boost_test_run(smart_ptr_test) ++boost_test_run(shared_ptr_basic_test) ++boost_test_run(shared_ptr_test) ++boost_test_run(weak_ptr_test) ++boost_test_run(shared_from_this_test) ++boost_test_run(get_deleter_test) ++boost_test_run(intrusive_ptr_test) ++boost_test_run(atomic_count_test) ++boost_test_run(lw_mutex_test) ++boost_test_compile_fail(shared_ptr_assign_fail) ++boost_test_compile_fail(shared_ptr_delete_fail) ++boost_test_compile_fail(shared_ptr_compare_fail) ++boost_test_run(shared_ptr_alloc2_test) ++boost_test_run(pointer_cast_test) ++boost_test_compile(pointer_to_other_test) ++boost_test_run(auto_ptr_rv_test) ++boost_test_run(shared_ptr_alias_test) ++boost_test_run(shared_ptr_rv_test) ++boost_test_run(shared_ptr_move_test) ++boost_test_compile_fail(shared_ptr_pv_fail) ++boost_test_run(sp_unary_addr_test) ++boost_test_compile_fail(scoped_ptr_eq_fail) ++boost_test_compile_fail(scoped_array_eq_fail) ++boost_test_run(esft_regtest) ++boost_test_run(yield_k_test) ++message(STATUS "!!!> yield_k_test multhreaded") ++boost_test_run(spinlock_test) ++boost_test_run(spinlock_try_test) ++message(STATUS "!!!> spinlock_try_test multithreaded") ++boost_test_run(spinlock_pool_test) ++boost_test_run(make_shared_test) ++boost_test_run(sp_convertible_test) ++boost_test_run(wp_convertible_test) ++boost_test_run(ip_convertible_test) ++boost_test_run(allocate_shared_test) ++boost_test_run(sp_atomic_test) ++boost_test_run(esft_void_test) ++boost_test_run(esft_second_ptr_test) ++boost_test_run(make_shared_esft_test) ++boost_test_run(allocate_shared_esft_test) ++boost_test_run(sp_recursive_assign_test) ++boost_test_run(sp_recursive_assign2_test) ++boost_test_run(sp_recursive_assign_rv_test) ++boost_test_run(sp_recursive_assign2_rv_test) ++boost_test_compile_fail(auto_ptr_lv_fail) ++boost_test_run(atomic_count_test2) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/CMakeLists.txt +--- boost_1_44_0/libs/spirit/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/CMakeLists.txt 2010-08-22 00:03:42.368979280 +0200 +@@ -0,0 +1,46 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ spirit.hpp ++ spirit ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ spirit ++ # SRCDIRS ++ TESTDIRS test ++ EXAMPLEDIRS ++ example/qi/calc6 ++ example/qi/calc7 ++ example/qi ++ example/qi/mini_c ++ example/lex/static_lexer ++ example/lex ++ example/karma ++ example/support ++ # example/scheme/test/qi ++ example/scheme/test/utree ++ example/scheme/test/scheme ++ example/scheme/example/sexpr ++ # example/scheme/example/generate_qiexpr ++ example/scheme/example/scheme ++ # example/scheme/example/parse_qiexpr ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "LL parser framework represents parsers directly as EBNF grammars in inlined C++." ++ MODULARIZED ++ AUTHORS "Joel de Guzman " ++ "Hartmut Kaiser " ++ "Dan Nuffer" ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/karma/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/karma/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/karma/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/karma/CMakeLists.txt 2010-08-22 00:03:40.944854849 +0200 +@@ -0,0 +1,37 @@ ++foreach( ++ example ++ complex_number ++ # complex_number_adapt ++ # calc2_ast_dump ++ generate_code ++ quick_start1 ++ customize_use_as_container ++ # printf_style_double_format ++ num_list1 ++ num_list2 ++ num_list3 ++ classify_char ++ customize_counter ++ # calc2_ast_vm ++ # simple_columns_directive ++ escaped_string ++ reorder_struct ++ actions ++ complex_number_easier ++ # auto_facilities ++ num_matrix ++ customize_embedded_container ++ # reference ++ mini_xml_karma ++ key_value_sequence ++ quoted_strings ++ # calc2_ast_rpn ++ # basic_facilities ++) ++boost_add_executable( ++ ${example} ++ TARGET_PREFIX ++ "karma-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/lex/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/lex/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/lex/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/lex/CMakeLists.txt 2010-08-22 00:03:40.699855018 +0200 +@@ -0,0 +1,25 @@ ++foreach( ++ example ++ word_count_functor_flex ++ #word_count ++ #word_count_lexer ++ #strip_comments ++ #strip_comments_lexer ++ #example1 ++ #example2 ++ #example3 ++ #example4 ++ #example5 ++ #example6 ++ reference ++ #custom_token_attribute ++ #print_numbers ++ #word_count_functor ++) ++boost_add_executable( ++ ${example} ++ TARGET_PREFIX ++ "lex-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/lex/static_lexer/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/lex/static_lexer/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/lex/static_lexer/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/lex/static_lexer/CMakeLists.txt 2010-08-22 00:03:40.687854459 +0200 +@@ -0,0 +1,12 @@ ++foreach( ++ example ++ word_count_lexer_generate ++ word_count_generate ++ word_count_lexer_static ++ word_count_static ++) ++boost_add_executable( ++ ${example} ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/qi/calc6/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/qi/calc6/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/qi/calc6/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/qi/calc6/CMakeLists.txt 2010-08-22 00:03:40.512855558 +0200 +@@ -0,0 +1,7 @@ ++boost_add_executable( ++ calc6 ++ calc6.cpp ++ calc6a.cpp ++ calc6b.cpp ++ calc6c.cpp ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/qi/calc7/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/qi/calc7/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/qi/calc7/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/qi/calc7/CMakeLists.txt 2010-08-22 00:03:40.459855191 +0200 +@@ -0,0 +1,7 @@ ++boost_add_executable( ++ calc7 ++ calc7.cpp ++ calc7a.cpp ++ calc7b.cpp ++ calc7c.cpp ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/qi/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/qi/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/qi/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/qi/CMakeLists.txt 2010-08-22 00:03:40.470855385 +0200 +@@ -0,0 +1,43 @@ ++foreach( ++ example ++ employee ++ complex_number ++ mini_xml1 ++ mini_xml2 ++ mini_xml3 ++ porting_guide_qi ++ key_value_sequence_empty_value ++ parse_date ++ # adapt_template_struct ++ num_list1 ++ num_list2 ++ num_list3 ++ num_list4 ++ calc2_ast ++ iter_pos_parser ++ display_attribute_type ++ reorder_struct ++ key_value_sequence_ordered ++ sum ++ actions ++ calc1 ++ calc2 ++ calc3 ++ calc4 ++ calc5 ++ calc4_debug ++ # reference ++ # boost_array ++ roman ++ nabialek ++ typeof ++ key_value_sequence ++ porting_guide_classic ++) ++boost_add_executable( ++ ${example} ++ TARGET_PREFIX ++ "qi-" ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/qi/mini_c/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/qi/mini_c/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/qi/mini_c/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/qi/mini_c/CMakeLists.txt 2010-08-22 00:03:40.437979697 +0200 +@@ -0,0 +1,8 @@ ++boost_add_executable( ++ mini_c ++ mini_c.cpp ++ mini_ca.cpp ++ mini_cb.cpp ++ mini_cc.cpp ++ mini_cd.cpp ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt 2010-08-22 00:03:40.764855477 +0200 +@@ -0,0 +1,7 @@ ++boost_add_executable( ++ generate_qi_test ++ generate_qi_test.cpp ++ generate_qiexpr.cpp ++ COMPILE_FLAGS ++ "-I../.." ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt 2010-08-22 00:03:40.768855057 +0200 +@@ -0,0 +1,8 @@ ++boost_add_executable( ++ parse_qi_test ++ parse_qi_test.cpp ++ generate_sexpr_to_ostream.cpp ++ parse_qiexpr.cpp ++ COMPILE_FLAGS ++ "-I../.." ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/scheme/example/scheme/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/scheme/example/scheme/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/scheme/example/scheme/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/scheme/example/scheme/CMakeLists.txt 2010-08-22 00:03:40.776855198 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ try_scheme ++ factorial1 ++ factorial2 ++) ++boost_add_executable( ++ ${example} ++ COMPILE_FLAGS ++ "-I../.." ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt 2010-08-22 00:03:40.782854920 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ # sexpr_output_test ++ sexpr_input_test ++ sexpr_error_test ++) ++boost_add_executable( ++ ${example} ++ COMPILE_FLAGS ++ "-I../.." ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/scheme/test/qi/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/scheme/test/qi/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/scheme/test/qi/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/scheme/test/qi/CMakeLists.txt 2010-08-22 00:03:40.855855743 +0200 +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ qi_interpreter ++) ++boost_add_executable( ++ ${example} ++ COMPILE_FLAGS ++ "-I../.." ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/scheme/test/scheme/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/scheme/test/scheme/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/scheme/test/scheme/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/scheme/test/scheme/CMakeLists.txt 2010-08-22 00:03:40.876854527 +0200 +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ scheme_test1 ++ scheme_test2 ++ scheme_test3 ++) ++boost_add_executable( ++ ${example} ++ COMPILE_FLAGS ++ "-I../.." ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/scheme/test/utree/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/scheme/test/utree/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/scheme/test/utree/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/scheme/test/utree/CMakeLists.txt 2010-08-22 00:03:40.867856030 +0200 +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ utree_test ++) ++boost_add_executable( ++ ${example} ++ COMPILE_FLAGS ++ "-I../.." ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/example/support/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/example/support/CMakeLists.txt +--- boost_1_44_0/libs/spirit/example/support/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/example/support/CMakeLists.txt 2010-08-22 00:03:40.537980232 +0200 +@@ -0,0 +1,9 @@ ++foreach( ++ example ++ multi_pass ++) ++boost_add_executable( ++ ${example} ++) ++endforeach( ++) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/module.cmake boost-1.44.0-cmake/libs/spirit/module.cmake +--- boost_1_44_0/libs/spirit/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/module.cmake 2010-08-22 00:03:46.473979866 +0200 +@@ -0,0 +1 @@ ++boost_module(spirit DEPENDS xpressive optional foreach array unordered pool) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/spirit/test/CMakeLists.txt boost-1.44.0-cmake/libs/spirit/test/CMakeLists.txt +--- boost_1_44_0/libs/spirit/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/spirit/test/CMakeLists.txt 2010-08-22 00:03:41.859980125 +0200 +@@ -0,0 +1,121 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(spirit ++ BOOST_DEPENDS ++ test variant function_types intrusive ++ lambda assign iostreams math random dynamic_bitset fusion ++ ) ++ ++set( test_compile_flags "") ++ ++if(CMAKE_COMPILER_IS_GNUCC) ++ set(test_compile_flags "-ftemplate-depth-300") ++endif() ++ ++ ++boost_test_run(qi_actions qi/actions.cpp COMPILE_FLAGS ${test_compile_flags} BOOST_LIB spirit COMPILE_FLAGS ${test_compile_flags} ) ++ ++foreach(qi_run_test ++ char ++ char_class ++ lit ++ int ++ uint ++ real ++ eps ++ lazy ++ tst ++ symbols ++ range_run ++ no_case ++ lexeme ++ raw ++ sequence ++ alternative ++ sequential_or ++ permutation ++ difference ++ list ++ optional ++ kleene ++ plus ++ and_predicate ++ not_predicate ++ expect ++ rule ++ grammar ++ match_manip ++ binary ++ debug ++ end) ++ boost_test_run(qi_${qi_run_test} qi/${qi_run_test}.cpp COMPILE_FLAGS ${test_compile_flags}) ++endforeach() ++ ++foreach(qi_compile_fail_test ++ qi_grammar_fail ++ qi_rule_fail) ++ boost_test_compile_fail(${qi_compile_fail_test} qi/${qi_compiler_fail_test}.cpp ++ COMPILE_FLAGS ${test_compile_flags}) ++endforeach() ++ ++foreach(karma_run_test ++ actions ++ alternative ++ binary ++ case_handling ++ center_alignment ++ char ++ delimiter ++ eol ++ eps ++ format_manip ++ grammar ++ int_numerics ++ kleene ++ lazy ++ left_alignment ++ list ++ lit ++ optional ++ pattern ++ real_numerics ++ right_alignment ++ sequence) ++ boost_test_run(karma_${karma_run_test} karma/${karma_run_test}.cpp COMPILE_FLAGS ${test_compile_flags}) ++endforeach() ++ ++foreach(karma_compile_fail_test ++ karma_grammar_fail ++ karma_rule_fail) ++ boost_test_compile_fail(${karma_compile_fail_test} ++ karma/${karma_compile_fail_test}.cpp ++ COMPILE_FLAGS ${test_compile_flags}) ++endforeach() ++ ++# boost_test_run(support_hold_any support/hold_any.cpp COMPILE_FLAGS ${test_compile_flags}) ++ ++# the multi_pass tests are not completed yet ++# [ run support/multi_pass_compile.cpp COMPILE_FLAGS ${test_compile_flags} : : : : ] ++# [ run support/multi_pass.cpp COMPILE_FLAGS ${test_compile_flags} : : : : ] ++ ++if(CMAKE_COMPILER_IS_INTEL) ++ list(APPEND test_compile_flags "-no-vec") ++endif() ++ ++foreach(lex_run_test ++ lexertl1 ++ lexertl2 ++ lexertl3 ++ lexertl4 ++ lexertl5 ++ state_switcher_test) ++ boost_test_run(lex_${lex_run_test} lex/${lex_run_test}.cpp ++ COMPILE_FLAGS ${test_compile_flags}) ++endforeach() ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/statechart/CMakeLists.txt boost-1.44.0-cmake/libs/statechart/CMakeLists.txt +--- boost_1_44_0/libs/statechart/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/statechart/CMakeLists.txt 2010-08-22 00:03:27.348853953 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ statechart ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ statechart ++ # SRCDIRS ++ TESTDIRS test example ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code." ++ MODULARIZED ++ AUTHORS "Andreas Huber " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/statechart/example/CMakeLists.txt boost-1.44.0-cmake/libs/statechart/example/CMakeLists.txt +--- boost_1_44_0/libs/statechart/example/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/statechart/example/CMakeLists.txt 2010-08-22 00:03:27.045855451 +0200 +@@ -0,0 +1,31 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++macro(statechart_example TESTNAME) ++ set(SOURCES) ++ foreach(ARG ${ARGN}) ++ set(SOURCES ${SOURCES} "${TESTNAME}/${ARG}.cpp") ++ endforeach(ARG ${ARGN}) ++ ++ if (NOT SOURCES) ++ set(SOURCES "${TESTNAME}/${TESTNAME}.cpp") ++ endif () ++ ++ boost_test_link("${TESTNAME}Example" ++ ${SOURCES} ++ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS" ++ ) ++endmacro(statechart_example) ++ ++statechart_example(BitMachine) ++#statechart_example(Camera ++# : Camera : Camera Configuring Main Shooting) ++#statechart_example(Handcrafted : Handcrafted : Handcrafted) ++#statechart_example(Keyboard : Keyboard : Keyboard :) ++#statechart_example(Performance : Performance : Performance) ++#statechart_example(PingPong : PingPong : PingPong) ++#statechart_example(StopWatch : StopWatch : StopWatch) ++#statechart_example(StopWatch2 : StopWatch : StopWatch2) ; +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/statechart/module.cmake boost-1.44.0-cmake/libs/statechart/module.cmake +--- boost_1_44_0/libs/statechart/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/statechart/module.cmake 2010-08-22 00:03:27.723854296 +0200 +@@ -0,0 +1 @@ ++boost_module (statechart DEPENDS type_traits mpl static_assert intrusive smart_ptr bind function numeric) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/statechart/test/CMakeLists.txt boost-1.44.0-cmake/libs/statechart/test/CMakeLists.txt +--- boost_1_44_0/libs/statechart/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/statechart/test/CMakeLists.txt 2010-08-22 00:03:27.290854209 +0200 +@@ -0,0 +1,93 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(statechart BOOST_DEPENDS test numeric) ++ ++ ++ ++macro(statechart_compile_fail TESTNAME) ++ boost_test_compile_fail("${TESTNAME}Normal" ++ ${TESTNAME}.cpp ++ ) ++ boost_test_compile_fail("${TESTNAME}Native" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_STATECHART_USE_NATIVE_RTTI" ++ ) ++ boost_test_compile_fail("${TESTNAME}Relaxed" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT" ++ ) ++ boost_test_compile_fail("${TESTNAME}Both" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_STATECHART_USE_NATIVE_RTTI -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT" ++ ) ++endmacro(statechart_compile_fail) ++ ++macro(statechart_run TESTNAME) ++ boost_test_run("${TESTNAME}Normal" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS" ++ DEPENDS boost_test_exec_monitor ++ ) ++ boost_test_run("${TESTNAME}Native" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_USE_NATIVE_RTTI" ++ DEPENDS boost_test_exec_monitor ++ ) ++ boost_test_run("${TESTNAME}Relaxed" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT" ++ DEPENDS boost_test_exec_monitor ++ ) ++ boost_test_run("${TESTNAME}Both" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_USE_NATIVE_RTTI -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT" ++ DEPENDS boost_test_exec_monitor ++ ) ++endmacro(statechart_run) ++ ++ ++statechart_compile_fail(InvalidChartTest1) ++statechart_compile_fail(InvalidChartTest2) ++statechart_compile_fail(InvalidChartTest3) ++statechart_run(TransitionTest) ++statechart_compile_fail(InvalidTransitionTest1) ++statechart_compile_fail(InvalidTransitionTest2) ++statechart_run(InStateReactionTest) ++statechart_run(TerminationTest) ++statechart_run(DeferralTest) ++statechart_run(CustomReactionTest) ++statechart_compile_fail(InvalidResultAssignTest) ++statechart_compile_fail(InvalidResultDefCtorTest) ++statechart_run(InvalidResultCopyTest) ++statechart_run(UnconsumedResultTest) ++statechart_run(HistoryTest) ++statechart_compile_fail(InconsistentHistoryTest1) ++statechart_compile_fail(InconsistentHistoryTest2) ++statechart_compile_fail(InconsistentHistoryTest3) ++statechart_compile_fail(InconsistentHistoryTest4) ++statechart_compile_fail(InconsistentHistoryTest5) ++statechart_compile_fail(InconsistentHistoryTest6) ++statechart_compile_fail(InconsistentHistoryTest7) ++statechart_compile_fail(InconsistentHistoryTest8) ++statechart_compile_fail(UnsuppDeepHistoryTest) ++statechart_run(StateCastTest) ++statechart_run(TypeInfoTest) ++statechart_run(StateIterationTest) ++statechart_run(FifoSchedulerTest) ++ ++message(STATUS "Statechart Testing needs intermediate libraries created") ++# TODO: We need to create some libraries (just for testing!?), then link ++# and run tests against them. Ick. ++#statechart-st-lib-run LibTestNormal ++# : TuTestMain : TuTest : static $(normal)) ++#statechart-st-lib-run LibTestNative ++# : TuTestMain : TuTest : static $(native)) ++#statechart-st-lib-run DllTestNormal ++# : TuTestMain : TuTest : shared $(normal)) ++#statechart-st-lib-run DllTestNative ++# : TuTestMain : TuTest : shared $(native)) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/static_assert/CMakeLists.txt boost-1.44.0-cmake/libs/static_assert/CMakeLists.txt +--- boost_1_44_0/libs/static_assert/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/static_assert/CMakeLists.txt 2010-08-22 00:04:34.745854432 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ static_assert.hpp ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ static_assert ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/static_assert/module.cmake boost-1.44.0-cmake/libs/static_assert/module.cmake +--- boost_1_44_0/libs/static_assert/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/static_assert/module.cmake 2010-08-22 00:04:34.790979635 +0200 +@@ -0,0 +1 @@ ++boost_module(static_assert DEPENDS config detail) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/static_assert/test/CMakeLists.txt boost-1.44.0-cmake/libs/static_assert/test/CMakeLists.txt +--- boost_1_44_0/libs/static_assert/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/static_assert/test/CMakeLists.txt 2010-08-22 00:04:34.734854257 +0200 +@@ -0,0 +1,19 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_test_run(static_assert_test ../static_assert_test.cpp) ++boost_test_run(static_assert_example_2 ../static_assert_example_2.cpp) ++boost_test_run(static_assert_example_3 ../static_assert_example_3.cpp) ++boost_test_compile_fail(static_assert_test_fail_1 ../static_assert_test_fail_1.cpp) ++boost_test_compile_fail(static_assert_test_fail_2 ../static_assert_test_fail_2.cpp) ++boost_test_compile_fail(static_assert_test_fail_3 ../static_assert_test_fail_3.cpp) ++boost_test_compile_fail(static_assert_test_fail_4 ../static_assert_test_fail_4.cpp) ++boost_test_compile_fail(static_assert_test_fail_5 ../static_assert_test_fail_5.cpp) ++boost_test_compile_fail(static_assert_test_fail_6 ../static_assert_test_fail_6.cpp) ++boost_test_compile_fail(static_assert_test_fail_7 ../static_assert_test_fail_7.cpp) ++boost_test_compile_fail(static_assert_test_fail_8 ../static_assert_test_fail_8.cpp) ++boost_test_compile_fail(static_assert_test_fail_9 ../static_assert_test_fail_9.cpp) ++boost_test_compile_fail(static_assert_test_fail_10 ../static_assert_test_fail_10.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/system/CMakeLists.txt boost-1.44.0-cmake/libs/system/CMakeLists.txt +--- boost_1_44_0/libs/system/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/system/CMakeLists.txt 2010-08-22 00:04:23.385856337 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ system ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ system ++ SRCDIRS src ++ # TESTDIRS ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/system/module.cmake boost-1.44.0-cmake/libs/system/module.cmake +--- boost_1_44_0/libs/system/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/system/module.cmake 2010-08-22 00:04:23.406855461 +0200 +@@ -0,0 +1 @@ ++boost_module(system DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/system/src/CMakeLists.txt boost-1.44.0-cmake/libs/system/src/CMakeLists.txt +--- boost_1_44_0/libs/system/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/system/src/CMakeLists.txt 2010-08-22 00:04:23.385856337 +0200 +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library( ++ system ++ error_code.cpp ++ SHARED_COMPILE_FLAGS "-DBOOST_SYSTEM_DYN_LINK=1" ++ STATIC_COMPILE_FLAGS "-DBOOST_SYSTEM_STATIC_LINK=1" ++ ) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/test/CMakeLists.txt boost-1.44.0-cmake/libs/test/CMakeLists.txt +--- boost_1_44_0/libs/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/test/CMakeLists.txt 2010-08-22 00:03:37.905855374 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ test ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ test ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Support for simple program testing, full unit testing, and for program execution monitoring." ++ MODULARIZED ++ AUTHORS "Gennadiy Rozental " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/test/module.cmake boost-1.44.0-cmake/libs/test/module.cmake +--- boost_1_44_0/libs/test/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/test/module.cmake 2010-08-22 00:03:38.462854650 +0200 +@@ -0,0 +1,5 @@ ++# ++# module.cmake for test ++# ++boost_module(test DEPENDS smart_ptr timer io bind numeric) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/test/src/CMakeLists.txt boost-1.44.0-cmake/libs/test/src/CMakeLists.txt +--- boost_1_44_0/libs/test/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/test/src/CMakeLists.txt 2010-08-22 00:03:37.881855780 +0200 +@@ -0,0 +1,70 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# Test library configuration ++# add_definitions(-DBOOST_TEST_NO_AUTO_LINK=1) ++ ++# Compiler-specific configuration ++set(BOOST_SHARED_COMPILE_FLAGS "") ++if(MSVC) ++ add_definitions(/EHac) ++ set(BOOST_SHARED_COMPILE_FLAGS "${BOOST_SHARED_COMPILE_FLAGS} -wd4275") ++endif(MSVC) ++ ++if (BORLAND) ++ add_definitions(-w-8080) ++endif(BORLAND) ++ ++boost_add_library(prg_exec_monitor ++ execution_monitor.cpp ++ debug.cpp ++ cpp_main.cpp ++ SHARED_COMPILE_FLAGS -DBOOST_TEST_DYN_LINK=1 ${BOOST_SHARED_COMPILE_FLAGS}) ++ ++boost_add_library(test_exec_monitor ++ compiler_log_formatter.cpp ++ debug.cpp ++ execution_monitor.cpp ++ framework.cpp ++ plain_report_formatter.cpp ++ progress_monitor.cpp ++ results_collector.cpp ++ results_reporter.cpp ++ test_main.cpp ++ test_tools.cpp ++ unit_test_log.cpp ++ unit_test_main.cpp ++ unit_test_monitor.cpp ++ unit_test_parameters.cpp ++ unit_test_suite.cpp ++ xml_log_formatter.cpp ++ xml_report_formatter.cpp ++ NO_SHARED ++ ) ++ ++boost_add_library(unit_test_framework ++ compiler_log_formatter.cpp ++ debug.cpp ++ exception_safety.cpp ++ execution_monitor.cpp ++ framework.cpp ++ interaction_based.cpp ++ logged_expectations.cpp ++ plain_report_formatter.cpp ++ progress_monitor.cpp ++ results_collector.cpp ++ results_reporter.cpp ++ test_tools.cpp ++ unit_test_log.cpp ++ unit_test_main.cpp ++ unit_test_monitor.cpp ++ unit_test_parameters.cpp ++ unit_test_suite.cpp ++ xml_log_formatter.cpp ++ xml_report_formatter.cpp ++ SHARED_COMPILE_FLAGS -DBOOST_TEST_DYN_LINK=1 ${BOOST_SHARED_COMPILE_FLAGS} ++ ) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/thread/CMakeLists.txt boost-1.44.0-cmake/libs/thread/CMakeLists.txt +--- boost_1_44_0/libs/thread/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/thread/CMakeLists.txt 2010-08-22 00:03:07.014854597 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ thread.hpp ++ thread ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ thread ++ SRCDIRS src ++ TESTDIRS test ++ EXAMPLEDIRS example ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Boost.Thread" ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/thread/example/CMakeLists.txt boost-1.44.0-cmake/libs/thread/example/CMakeLists.txt +--- boost_1_44_0/libs/thread/example/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/thread/example/CMakeLists.txt 2010-08-22 00:03:06.889856247 +0200 +@@ -0,0 +1,17 @@ ++foreach(example ++ ++ monitor ++ starvephil ++ # tennis this doesn't build on linux for some stupid reason ++ condition ++ mutex ++ once ++ recursive_mutex ++ thread ++ thread_group ++ tss ++ xtime) ++ ++ boost_add_executable(${example} DEPENDS boost_thread MULTI_THREADED) ++ ++endforeach() +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/thread/module.cmake boost-1.44.0-cmake/libs/thread/module.cmake +--- boost_1_44_0/libs/thread/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/thread/module.cmake 2010-08-22 00:03:07.136855025 +0200 +@@ -0,0 +1 @@ ++boost_module(thread DEPENDS date_time bind optional range) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/thread/src/CMakeLists.txt boost-1.44.0-cmake/libs/thread/src/CMakeLists.txt +--- boost_1_44_0/libs/thread/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/thread/src/CMakeLists.txt 2010-08-22 00:03:06.989854943 +0200 +@@ -0,0 +1,20 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (WIN32) ++ set(THREAD_SOURCES win32/thread.cpp win32/tss_dll.cpp win32/tss_pe.cpp) ++else (WIN32) ++ set(THREAD_SOURCES pthread/thread.cpp pthread/once.cpp) ++endif (WIN32) ++ ++boost_add_library( ++ thread ++ ${THREAD_SOURCES} ++ SHARED_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_DLL=1" ++ STATIC_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB=1" ++ NO_SINGLE_THREADED ++ ) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/thread/test/CMakeLists.txt boost-1.44.0-cmake/libs/thread/test/CMakeLists.txt +--- boost_1_44_0/libs/thread/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/thread/test/CMakeLists.txt 2010-08-22 00:03:06.935979483 +0200 +@@ -0,0 +1,39 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(thread BOOST_DEPENDS test ) ++ ++ ++ ++set(TESTS ++test_thread ++test_thread_id ++test_hardware_concurrency ++test_thread_move ++test_thread_launching ++test_thread_mf ++test_move_function ++test_mutex ++test_condition_notify_one ++test_condition_timed_wait_times_out ++test_condition_notify_all ++test_condition ++test_tss ++test_once ++test_xtime ++test_barrier ++test_shared_mutex ++test_shared_mutex_part_2 ++test_shared_mutex_timed_locks ++test_lock_concept ++test_generic_locks) ++ ++foreach (TEST ${TESTS}) ++ boost_test_run(${TEST} MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework) ++endforeach (TEST ${TESTS}) ++ ++boost_test_compile_fail(no_implicit_move_from_lvalue_thread) ++boost_test_compile_fail(no_implicit_assign_from_lvalue_thread) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/timer/CMakeLists.txt boost-1.44.0-cmake/libs/timer/CMakeLists.txt +--- boost_1_44_0/libs/timer/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/timer/CMakeLists.txt 2010-08-22 00:02:57.808854384 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ timer.hpp ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ timer ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/timer/module.cmake boost-1.44.0-cmake/libs/timer/module.cmake +--- boost_1_44_0/libs/timer/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/timer/module.cmake 2010-08-22 00:02:57.819855561 +0200 +@@ -0,0 +1 @@ ++boost_module(timer DEPENDS config) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/timer/test/CMakeLists.txt boost-1.44.0-cmake/libs/timer/test/CMakeLists.txt +--- boost_1_44_0/libs/timer/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/timer/test/CMakeLists.txt 2010-08-22 00:02:57.793264778 +0200 +@@ -0,0 +1,9 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# boost_additional_test_dependencies(timer BOOST_DEPENDS test) ++ ++boost_test_compile(timer_test ../timer_test.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/tokenizer/CMakeLists.txt boost-1.44.0-cmake/libs/tokenizer/CMakeLists.txt +--- boost_1_44_0/libs/tokenizer/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/tokenizer/CMakeLists.txt 2010-08-22 00:03:38.948854790 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ tokenizer.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ tokenizer ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/tokenizer/module.cmake boost-1.44.0-cmake/libs/tokenizer/module.cmake +--- boost_1_44_0/libs/tokenizer/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/tokenizer/module.cmake 2010-08-22 00:03:38.953854216 +0200 +@@ -0,0 +1 @@ ++boost_module(tokenizer DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/tokenizer/test/CMakeLists.txt boost-1.44.0-cmake/libs/tokenizer/test/CMakeLists.txt +--- boost_1_44_0/libs/tokenizer/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/tokenizer/test/CMakeLists.txt 2010-08-22 00:03:38.936854563 +0200 +@@ -0,0 +1,15 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(tokenizer BOOST_DEPENDS test config detail iterator utility array intrusive) ++ ++boost_test_run(examples examples.cpp ++ DEPENDS boost_test_exec_monitor) ++boost_test_run(simple_example_1 simple_example_1.cpp) ++boost_test_run(simple_example_2 simple_example_2.cpp) ++boost_test_run(simple_example_3 simple_example_3.cpp) ++boost_test_run(simple_example_4 simple_example_4.cpp) ++boost_test_run(simple_example_5 simple_example_5.cpp) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/tr1/CMakeLists.txt boost-1.44.0-cmake/libs/tr1/CMakeLists.txt +--- boost_1_44_0/libs/tr1/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/tr1/CMakeLists.txt 2010-08-22 00:03:37.600854696 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ tr1 ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ tr1 ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "An implementation of the C++ Technical Report on Standard Library Extensions. This library does not itself implement the TR1 components, rather it's a thin wrapper that will include your standard library's TR1 implementation (if it has one), otherwise it will include the Boost Library equivalents, and import them into namespace std::tr1." ++ MODULARIZED ++ AUTHORS "John Maddock " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/tr1/module.cmake boost-1.44.0-cmake/libs/tr1/module.cmake +--- boost_1_44_0/libs/tr1/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/tr1/module.cmake 2010-08-22 00:03:37.602854962 +0200 +@@ -0,0 +1 @@ ++boost_module(tr1 DEPENDS fusion random math functional) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/tr1/test/CMakeLists.txt boost-1.44.0-cmake/libs/tr1/test/CMakeLists.txt +--- boost_1_44_0/libs/tr1/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/tr1/test/CMakeLists.txt 2010-08-22 00:03:37.259979412 +0200 +@@ -0,0 +1,75 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(tr1 BOOST_DEPENDS test) ++ ++ ++include_directories(${Boost_SOURCE_DIR}/boost/tr1/tr1) ++include_directories(${Boost_SOURCE_DIR}/libs/tr1/include/boost/tr1/tr1) ++ ++if (BORLAND) ++ # Borland's broken include mechanism needs these extra headers: ++ include_directories(${Boost_SOURCE_DIR}/boost/tr1/tr1/bcc32) ++ include_directories(${Boost_SOURCE_DIR}/libs/tr1/include/boost/tr1/tr1/bcc32) ++endif (BORLAND) ++ ++macro(boost_glob_test_compile path glob_par compile_flags) ++ list_contains(WITH_STD "WITH_STD" ${ARGN}) ++ list_contains(STD_HEADER_TEST "STD_HEADER_TEST" ${ARGN}) ++ file(GLOB file_list ${path}/${glob_par}) ++ foreach (current_file ${file_list}) ++ get_filename_component(file_name ${current_file} NAME_WE) ++ set(test_name "${file_name}") ++ if (${STD_HEADER_TEST}) ++ set(test_name "${file_name}_header") ++ endif () ++ boost_test_compile(${test_name} ${path}/${file_name}.cpp ++ COMPILE_FLAGS "${compile_flags}") ++ if (WITH_STD) ++ boost_test_compile(${file_name}_std ${path}/${file_name}.cpp ++ COMPILE_FLAGS ${compile_flags} -DTEST_STD_HEADERS=1) ++ endif (WITH_STD) ++ endforeach (current_file) ++endmacro(boost_glob_test_compile) ++ ++macro(boost_glob_test_compile_fail patch glob_par compile_flags) ++ file(GLOB file_list ${glob_par}) ++ foreach (current_file ${file_list}) ++ get_filename_component(file_name ${current_file} NAME_WE) ++ boost_test_compile_fail(${file_name} ${path}/${file_name}.cpp COMPILE_FLAGS "${compile_flags}") ++ endforeach (current_file) ++endmacro(boost_glob_test_compile_fail) ++ ++macro(boost_glob_test_run path glob_par compile_flags) ++ list_contains(WITH_STD "WITH_STD" ${ARGN}) ++ file(GLOB file_list ${path}/${glob_par}) ++ foreach (current_file ${file_list}) ++ get_filename_component(file_name ${current_file} NAME_WE) ++ boost_test_run(${file_name} ${path}/${file_name}.cpp COMPILE_FLAGS "${compile_flags}") ++ if (WITH_STD) ++ boost_test_run(${file_name}_std ${path}/${file_name}.cpp ++ COMPILE_FLAGS ${compile_flags} -DTEST_STD_HEADERS=1) ++ endif (WITH_STD) ++ endforeach (current_file) ++endmacro(boost_glob_test_run) ++ ++ ++boost_glob_test_compile(. test*.cpp "" WITH_STD) ++boost_glob_test_run(. run*.cpp "" WITH_STD) ++boost_glob_test_compile_fail(config tr1_has_tr1*fail.cpp "") ++boost_glob_test_compile(config tr1_has_tr1*pass.cpp "") ++boost_glob_test_run(type_traits *.cpp "") ++ ++# TODO: there's a problem here where the testing code is generating duplicate ++# target names. ++message(STATUS "TR1 tests need some love") ++# boost_glob_test_compile(std_headers *.cpp "-DTEST_STD=1" STD_HEADER_TEST) ++boost_glob_test_compile(cyclic_depend *.cpp "") ++ ++# Known failures ++boost_test_known_failures(test_cmath_tricky_std "gcc-4.0.[0-9]-.*") ++boost_test_known_failures(test_mem_fn_tricky_std "gcc-4.0.[0-9]-.*") ++boost_test_known_failures(test_ref_wrapper_tricky_std "gcc-4.0.[0-9]-.*") +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/tuple/CMakeLists.txt boost-1.44.0-cmake/libs/tuple/CMakeLists.txt +--- boost_1_44_0/libs/tuple/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/tuple/CMakeLists.txt 2010-08-22 00:04:37.791979751 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ tuple ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ tuple ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Ease definition of functions returning multiple values, and more." ++ MODULARIZED ++ AUTHORS "Jaakko Jarvi " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/tuple/module.cmake boost-1.44.0-cmake/libs/tuple/module.cmake +--- boost_1_44_0/libs/tuple/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/tuple/module.cmake 2010-08-22 00:04:37.794980106 +0200 +@@ -0,0 +1,2 @@ ++boost_module(tuple DEPENDS static_assert) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/tuple/test/CMakeLists.txt boost-1.44.0-cmake/libs/tuple/test/CMakeLists.txt +--- boost_1_44_0/libs/tuple/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/tuple/test/CMakeLists.txt 2010-08-22 00:04:37.790979570 +0200 +@@ -0,0 +1,11 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(tuple BOOST_DEPENDS test) ++ ++ ++boost_test_run(tuple_test_bench DEPENDS boost_test_exec_monitor) ++boost_test_run(io_test DEPENDS boost_test_exec_monitor) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/typeof/CMakeLists.txt boost-1.44.0-cmake/libs/typeof/CMakeLists.txt +--- boost_1_44_0/libs/typeof/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/typeof/CMakeLists.txt 2010-08-22 00:04:37.396980088 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ typeof ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ typeof ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/typeof/module.cmake boost-1.44.0-cmake/libs/typeof/module.cmake +--- boost_1_44_0/libs/typeof/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/typeof/module.cmake 2010-08-22 00:04:37.398979293 +0200 +@@ -0,0 +1 @@ ++boost_module(typeof DEPENDS mpl config detail preprocessor) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/typeof/test/CMakeLists.txt boost-1.44.0-cmake/libs/typeof/test/CMakeLists.txt +--- boost_1_44_0/libs/typeof/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/typeof/test/CMakeLists.txt 2010-08-22 00:04:37.391980007 +0200 +@@ -0,0 +1,30 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(typeof BOOST_DEPENDS test) ++ ++ ++file(GLOB TEST_FILES "*.cpp") ++foreach(TEST_FILE ${TEST_FILES}) ++ if (TEST_FILE MATCHES "odr.*cpp") ++ # Skip ODR tests; we'll handle them separately ++ else (TEST_FILE MATCHES "odr.*cpp") ++ get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE) ++ boost_test_compile("${TEST_NAME}_native" ++ "${TEST_NAME}.cpp" COMPILE_FLAGS "-DBOOST_TYPEOF_NATIVE") ++ boost_test_compile("${TEST_NAME}_emulation" ++ "${TEST_NAME}.cpp" COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION") ++ endif (TEST_FILE MATCHES "odr.*cpp") ++endforeach(TEST_FILE ${TEST_FILES}) ++ ++boost_test_run(odr_native ++ odr1.cpp odr2.cpp COMPILE_FLAGS "-DBOOST_TYPEOF_NATIVE") ++boost_test_run(odr_emulation ++ odr1.cpp odr2.cpp COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION") ++boost_test_run(odr_no_uns ++ odr_no_uns1.cpp odr_no_uns2.cpp ++ COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION") ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/type_traits/CMakeLists.txt boost-1.44.0-cmake/libs/type_traits/CMakeLists.txt +--- boost_1_44_0/libs/type_traits/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/type_traits/CMakeLists.txt 2010-08-22 00:03:25.889979772 +0200 +@@ -0,0 +1,40 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ type_traits.hpp ++ type_traits ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ type_traits ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Templates for fundamental properties of types." ++ MODULARIZED ++ AUTHORS "David Abrahams " ++ "Steve Cleary" ++ "Beman Dawes " ++ "Aleksey Gurtovoy " ++ "Howard Hinnant" ++ "Jesse Jones" ++ "Mat Marcus" ++ "Itay Maman" ++ "John Maddock " ++ "Alexander Nasonov " ++ "Thorsten Ottosen " ++ "Robert Ramey " ++ "Jeremy Siek " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/type_traits/module.cmake boost-1.44.0-cmake/libs/type_traits/module.cmake +--- boost_1_44_0/libs/type_traits/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/type_traits/module.cmake 2010-08-22 00:03:26.965854929 +0200 +@@ -0,0 +1 @@ ++boost_module(type_traits DEPENDS config static_assert) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/type_traits/test/CMakeLists.txt boost-1.44.0-cmake/libs/type_traits/test/CMakeLists.txt +--- boost_1_44_0/libs/type_traits/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/type_traits/test/CMakeLists.txt 2010-08-22 00:03:25.759979222 +0200 +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++file(GLOB TEST_FILES "*_test.cpp") ++foreach(TEST_FILE ${TEST_FILES}) ++ get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE) ++ boost_test_run(${TEST_NAME}) ++endforeach(TEST_FILE ${TEST_FILES}) ++ ++boost_test_run(udt_specialisations) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/units/CMakeLists.txt boost-1.44.0-cmake/libs/units/CMakeLists.txt +--- boost_1_44_0/libs/units/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/units/CMakeLists.txt 2010-08-22 00:02:56.834854621 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ units ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ units ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Zero-overhead dimensional analysis and unit/quantity manipulation and conversion." ++ MODULARIZED ++ AUTHORS "Matthias Schabel " ++ "Steven Watanabe " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/units/doc/CMakeLists.txt boost-1.44.0-cmake/libs/units/doc/CMakeLists.txt +--- boost_1_44_0/libs/units/doc/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/units/doc/CMakeLists.txt 2010-08-22 00:02:56.850220177 +0200 +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++message(STATUS "libs/units/doc needs love") ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/units/module.cmake boost-1.44.0-cmake/libs/units/module.cmake +--- boost_1_44_0/libs/units/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/units/module.cmake 2010-08-22 00:02:56.850855181 +0200 +@@ -0,0 +1,2 @@ ++boost_module(units DEPENDS math serialization lambda) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/units/test/CMakeLists.txt boost-1.44.0-cmake/libs/units/test/CMakeLists.txt +--- boost_1_44_0/libs/units/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/units/test/CMakeLists.txt 2010-08-22 00:02:56.825979964 +0200 +@@ -0,0 +1,70 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(typeof BOOST_DEPENDS test) ++ ++set(COMPILE_TESTS ++ test_predicates ++ test_negative_denominator ++ test_dimensionless_ice1 ++ test_dimensionless_ice2 ++ test_mixed_value_types ++ test_complicated_system ++ ) ++ ++foreach(C ${COMPILE_TESTS}) ++ boost_test_compile(${C}) ++endforeach(C ${COMPILE_TESTS}) ++ ++set(RUN_TESTS ++ test_dimensionless_quantity ++ test_implicit_conversion ++ test_quantity ++ test_unit ++ test_base_dimension ++ test_absolute ++ test_default_conversion ++ test_cmath ++ test_limits ++ test_custom_unit ++ test_scaled_conversion ++ test_lambda ++ ) ++ ++foreach(R ${RUN_TESTS}) ++ boost_test_run(${R}) ++endforeach(R ${RUN_TESTS}) ++ ++boost_test_run(test_conversion DEPENDS boost_unit_test_framework) ++boost_test_run(test_scaled_unit DEPENDS boost_unit_test_framework) ++ ++ ++set(COMPILE_FAIL_TESTS ++ fail_implicit_conversion ++ fail_quantity_construct ++ fail_quantity_assign ++ fail_quantity_add ++ fail_quantity_subtract ++ fail_quantity_add_assign ++ fail_quantity_sub_assign ++ fail_quantity_scalar_add ++ fail_quantity_scalar_sub ++ fail_quantity_unit_add ++ fail_quantity_unit_subtract ++ fail_scalar_quantity_add ++ fail_scalar_quantity_sub ++ fail_unit_quantity_add ++ fail_unit_quantity_subtract ++ fail_adl_detail ++ fail_heterogeneous_unit ++ fail_base_dimension ++ fail_add_temperature ++ fail_quantity_non_unit ++ ) ++ ++foreach(F ${COMPILE_FAIL_TESTS}) ++ boost_test_compile_fail(${F}) ++endforeach(F ${COMPILE_FAIL_TESTS}) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/unordered/CMakeLists.txt boost-1.44.0-cmake/libs/unordered/CMakeLists.txt +--- boost_1_44_0/libs/unordered/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/unordered/CMakeLists.txt 2010-08-22 00:03:02.632854809 +0200 +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ unordered_map.hpp ++ unordered_set.hpp ++ unordered ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ unordered ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/unordered/module.cmake boost-1.44.0-cmake/libs/unordered/module.cmake +--- boost_1_44_0/libs/unordered/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/unordered/module.cmake 2010-08-22 00:03:02.661854929 +0200 +@@ -0,0 +1 @@ ++boost_module(unordered DEPENDS config functional) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/unordered/test/CMakeLists.txt boost-1.44.0-cmake/libs/unordered/test/CMakeLists.txt +--- boost_1_44_0/libs/unordered/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/unordered/test/CMakeLists.txt 2010-08-22 00:03:02.631854633 +0200 +@@ -0,0 +1,24 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(unordered BOOST_DEPENDS test) ++ ++# GCC Compilers ++IF(CMAKE_COMPILER_IS_GNUCC) ++ SET(test_compile_flags "-Wsign-promo -Wunused-parameter") ++ENDIF(CMAKE_COMPILER_IS_GNUCC) ++ ++# Intel Compiler flags ++IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ SET(test_compile_flags "${test_compile_flags} -strict_ansi -cxxlib-icc") ++ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ ++set (swap_compile_flags "${test_compile_flags} -DBOOST_UNORDERED_SWAP_METHOD=2") ++ ++ ++ ++add_subdirectory(exception) ++add_subdirectory(unordered) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/unordered/test/exception/CMakeLists.txt boost-1.44.0-cmake/libs/unordered/test/exception/CMakeLists.txt +--- boost_1_44_0/libs/unordered/test/exception/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/unordered/test/exception/CMakeLists.txt 2010-08-22 00:03:02.622854246 +0200 +@@ -0,0 +1,25 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(test ++ constructor_exception_tests ++ copy_exception_tests ++ assign_exception_tests ++ insert_exception_tests ++ erase_exception_tests ++ rehash_exception_tests ++ ) ++ boost_test_run(${test} ++ COMPILE_FLAGS ${test_compile_flags} ++ DEPENDS boost_unit_test_framework) ++endforeach(test ${unordered_tests}) ++ ++#-- run the swap test ++boost_test_run(swap_exception_tests ++ COMPILE_FLAGS ${swap_compile_flags} ++ DEPENDS boost_unit_test_framework) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/unordered/test/unordered/CMakeLists.txt boost-1.44.0-cmake/libs/unordered/test/unordered/CMakeLists.txt +--- boost_1_44_0/libs/unordered/test/unordered/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/unordered/test/unordered/CMakeLists.txt 2010-08-22 00:03:02.386854731 +0200 +@@ -0,0 +1,43 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#------------------------------------------------------------------------------- ++# Unordered Tests ++foreach(test ++ fwd_set_test ++ fwd_map_test ++ compile_set ++ compile_map ++ simple_tests ++ equivalent_keys_tests ++ constructor_tests ++ copy_tests ++ move_tests ++ assign_tests ++ insert_tests ++ insert_stable_tests ++ unnecessary_copy_tests ++ erase_tests ++ erase_equiv_tests ++ find_tests ++ at_tests ++ bucket_tests ++ load_factor_tests ++ rehash_tests ++ equality_tests ++ ) ++ boost_test_run(${test} ++ COMPILE_FLAGS ${test_compile_flags} ++ DEPENDS boost_unit_test_framework) ++endforeach() ++ ++boost_test_run(link_test link_test_1.cpp link_test_2.cpp) ++ ++#-- run the swap test ++boost_test_run(swap_tests ++ COMPILE_FLAGS ${swap_compile_flags} ++ DEPENDS boost_unit_test_framework) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/utility/CMakeLists.txt boost-1.44.0-cmake/libs/utility/CMakeLists.txt +--- boost_1_44_0/libs/utility/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/utility/CMakeLists.txt 2010-08-22 00:04:28.126854915 +0200 +@@ -0,0 +1,37 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ assert.hpp ++ call_traits.hpp ++ checked_delete.hpp ++ compressed_pair.hpp ++ current_function.hpp ++ operators.hpp ++ throw_exception.hpp ++ utility.hpp ++ utility ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ utility ++ # SRCDIRS ++ TESTDIRS test swap/test enable_if/test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Various small utilities for C++ programming." ++ MODULARIZED ++ AUTHORS "David Abrahams " ++ "Brad King" ++ "Douglas Gregor " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/utility/enable_if/test/CMakeLists.txt boost-1.44.0-cmake/libs/utility/enable_if/test/CMakeLists.txt +--- boost_1_44_0/libs/utility/enable_if/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/utility/enable_if/test/CMakeLists.txt 2010-08-22 00:04:28.179855057 +0200 +@@ -0,0 +1,20 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++foreach(T ++ constructors ++ dummy_arg_disambiguation ++ lazy ++ lazy_test ++ member_templates ++ namespace_disambiguation ++ no_disambiguation ++ partial_specializations ++ ) ++ boost_test_run(${T} DEPENDS boost_test_exec_monitor) ++endforeach() ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/utility/module.cmake boost-1.44.0-cmake/libs/utility/module.cmake +--- boost_1_44_0/libs/utility/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/utility/module.cmake 2010-08-22 00:04:28.237856398 +0200 +@@ -0,0 +1 @@ ++boost_module(utility DEPENDS iterator exception detail ) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/utility/swap/test/CMakeLists.txt boost-1.44.0-cmake/libs/utility/swap/test/CMakeLists.txt +--- boost_1_44_0/libs/utility/swap/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/utility/swap/test/CMakeLists.txt 2010-08-22 00:04:28.195854596 +0200 +@@ -0,0 +1,41 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(T ++ root_header_1 root_header_2 ++ lib_header_1 lib_header_2 ++ mixed_headers_1 mixed_headers_2) ++ boost_test_compile(${T}) ++endforeach() ++ ++ ++# [ run primitive.cpp ../../../test/build//boost_test_exec_monitor/static ] ++ ++ ++foreach(T ++ primitive ++ specialized_in_boost ++ specialized_in_global ++ specialized_in_other ++ specialized_in_std ++ specialized_in_boost_and_other ++ std_bitset ++ std_dateorder ++ std_string ++ std_typeinfo_ptr ++ std_vector_of_boost ++ std_vector_of_global ++ std_vector_of_other ++ no_ambiguity_in_boost ++ array_of_array_of_class ++ array_of_array_of_int ++ array_of_class ++ array_of_int ++ array_of_template) ++ boost_test_run(${T} DEPENDS boost_test_exec_monitor) ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/utility/test/CMakeLists.txt boost-1.44.0-cmake/libs/utility/test/CMakeLists.txt +--- boost_1_44_0/libs/utility/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/utility/test/CMakeLists.txt 2010-08-22 00:04:28.077980561 +0200 +@@ -0,0 +1,47 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(utility BOOST_DEPENDS test) ++ ++boost_test_run(addressof_fn_test ../addressof_fn_test.cpp) ++boost_test_run(addressof_test ../addressof_test.cpp) ++boost_test_run(addressof_test2 ../addressof_test2.cpp) ++boost_test_run(assert_test ../assert_test.cpp) ++boost_test_run(base_from_member_test ../base_from_member_test.cpp) ++boost_test_run(binary_search_test ../binary_search_test.cpp) ++boost_test_run(call_traits_test ../call_traits_test.cpp ARGS -u) ++boost_test_compile_fail(checked_delete_test ../checked_delete_test.cpp) ++boost_test_run(compressed_pair_test ++ ../compressed_pair_test ++ DEPENDS boost_test_exec_monitor) ++boost_test_run(current_function_test ../current_function_test.cpp) ++boost_test_run(iterators_test ++ ../iterators_test.cpp ++ DEPENDS boost_test_exec_monitor) ++boost_test_run(next_prior_test DEPENDS boost_test_exec_monitor) ++boost_test_compile_fail(noncopyable_test ../noncopyable_test.cpp) ++boost_test_run(numeric_traits_test ../numeric_traits_test.cpp) ++if (${CMAKE_SYSTEM} MATCHES "FreeBSD-.*") ++boost_test_compile_fail("operators_test_compilerbug") ++elseif(${CMAKE_SYSTEM} MATCHES "FreeBSD-.*") ++boost_test_run(operators_test ++ ../operators_test.cpp ++ DEPENDS boost_test_exec_monitor) ++endif(${CMAKE_SYSTEM} MATCHES "FreeBSD-.*") ++boost_test_compile(ref_ct_test ../ref_ct_test.cpp) ++boost_test_run(ref_test ++ ../ref_test.cpp ++ DEPENDS boost_test_exec_monitor) ++boost_test_compile(result_of_test) ++boost_test_run(shared_iterator_test ../shared_iterator_test.cpp) ++boost_test_run(value_init_test ../value_init_test.cpp) ++boost_test_compile_fail(value_init_test_fail1 ++ ../value_init_test_fail1.cpp) ++boost_test_compile_fail(value_init_test_fail2 ++ ../value_init_test_fail2.cpp) ++boost_test_compile_fail(value_init_test_fail3 ++ ../value_init_test_fail3.cpp) ++boost_test_run(verify_test ../verify_test.cpp) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/uuid/CMakeLists.txt boost-1.44.0-cmake/libs/uuid/CMakeLists.txt +--- boost_1_44_0/libs/uuid/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/uuid/CMakeLists.txt 2010-08-22 00:03:40.113855165 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright (c) 2010 Isidor Zeuner ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ uuid ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ uuid ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "The header uuid.hpp provides an implementation of Universally Unique Identifiers." ++ MODULARIZED ++ AUTHORS "Andy Tompkins" ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/uuid/module.cmake boost-1.44.0-cmake/libs/uuid/module.cmake +--- boost_1_44_0/libs/uuid/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/uuid/module.cmake 2010-08-22 00:03:40.119855275 +0200 +@@ -0,0 +1,3 @@ ++boost_module(uuid) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/variant/CMakeLists.txt boost-1.44.0-cmake/libs/variant/CMakeLists.txt +--- boost_1_44_0/libs/variant/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/variant/CMakeLists.txt 2010-08-22 00:04:34.919888092 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ variant.hpp ++ variant ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ variant ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/variant/module.cmake boost-1.44.0-cmake/libs/variant/module.cmake +--- boost_1_44_0/libs/variant/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/variant/module.cmake 2010-08-22 00:04:35.023855429 +0200 +@@ -0,0 +1 @@ ++boost_module(variant DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/variant/test/CMakeLists.txt boost-1.44.0-cmake/libs/variant/test/CMakeLists.txt +--- boost_1_44_0/libs/variant/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/variant/test/CMakeLists.txt 2010-08-22 00:04:34.889854349 +0200 +@@ -0,0 +1,15 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(variant BOOST_DEPENDS test) ++ ++boost_test_run(test1 test1.cpp class_a.cpp) ++boost_test_run(test4 test4.cpp class_a.cpp) ++set(tests test2 test3 test5 test6 test7 test8 recursive_variant_test variant_reference_test variant_comparison_test variant_visit_test) ++ ++foreach(test ${tests}) ++ boost_test_run(${test}) ++endforeach(test ${tests}) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/wave/CMakeLists.txt boost-1.44.0-cmake/libs/wave/CMakeLists.txt +--- boost_1_44_0/libs/wave/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/wave/CMakeLists.txt 2010-08-22 00:03:05.764914299 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ wave.hpp ++ wave ++) ++ ++# Add a library target to the build system ++boost_library_project(wave ++ ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A standards-conformant and highly-configurable implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface." ++ MODULARIZED ++ AUTHORS "Hartmut Kaiser " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/wave/module.cmake boost-1.44.0-cmake/libs/wave/module.cmake +--- boost_1_44_0/libs/wave/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/wave/module.cmake 2010-08-22 00:03:06.311857468 +0200 +@@ -0,0 +1 @@ ++boost_module(wave DEPENDS filesystem program_options spirit thread intrusive) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/wave/src/CMakeLists.txt boost-1.44.0-cmake/libs/wave/src/CMakeLists.txt +--- boost_1_44_0/libs/wave/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/wave/src/CMakeLists.txt 2010-08-22 00:03:05.715854582 +0200 +@@ -0,0 +1,24 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library(wave ++ ++ instantiate_cpp_exprgrammar.cpp ++ instantiate_cpp_grammar.cpp ++ instantiate_cpp_literalgrs.cpp ++ instantiate_defined_grammar.cpp ++ instantiate_predef_macros.cpp ++ instantiate_re2c_lexer.cpp ++ instantiate_re2c_lexer_str.cpp ++ token_ids.cpp ++ wave_config_constant.cpp ++ cpplexer/re2clex/aq.cpp ++ cpplexer/re2clex/cpp_re.cpp ++ ++ DEPENDS boost_filesystem boost_thread boost_date_time ++ SHARED_COMPILE_FLAGS "-DBOOST_ALL_DYN_LINK=1" ++ NO_SINGLE_THREADED ++ ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/wave/test/CMakeLists.txt boost-1.44.0-cmake/libs/wave/test/CMakeLists.txt +--- boost_1_44_0/libs/wave/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/wave/test/CMakeLists.txt 2010-08-22 00:03:05.100854247 +0200 +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++message(STATUS "wave tests need love") ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/xpressive/CMakeLists.txt boost-1.44.0-cmake/libs/xpressive/CMakeLists.txt +--- boost_1_44_0/libs/xpressive/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/xpressive/CMakeLists.txt 2010-08-22 00:04:38.091979513 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ xpressive ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ xpressive ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Regular expressions that can be written as strings or as expression templates, and which can refer to each other and themselves recursively with the power of context-free grammars." ++ MODULARIZED ++ AUTHORS "Eric Niebler " ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/xpressive/module.cmake boost-1.44.0-cmake/libs/xpressive/module.cmake +--- boost_1_44_0/libs/xpressive/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/xpressive/module.cmake 2010-08-22 00:04:38.437979598 +0200 +@@ -0,0 +1 @@ ++boost_module(xpressive DEPENDS fusion proto intrusive numeric) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/libs/xpressive/test/CMakeLists.txt boost-1.44.0-cmake/libs/xpressive/test/CMakeLists.txt +--- boost_1_44_0/libs/xpressive/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/libs/xpressive/test/CMakeLists.txt 2010-08-22 00:04:38.046854428 +0200 +@@ -0,0 +1,84 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# : requirements ++# intel:off ++# msvc,stlport:_STLP_EXPOSE_GLOBALS_IMPLEMENTATION ++ ++# [ linkp multiple_defs1.cpp multiple_defs2.cpp : : multiple_defs ] ++ ++# TODO: Fix these ++# boost_test_fail("multipledefs") ++# boost_test_fail("msvc-stlport") ++boost_additional_test_dependencies(xpressive BOOST_DEPENDS test intrusive numeric range typeof function_types) ++ ++if (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) ++ FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/data") ++ execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/xpressive/test/regress.txt" "${CMAKE_CURRENT_BINARY_DIR}") ++endif (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) ++ ++SET(runtests ++ regress ++ c_traits ++ test1 ++ test2 ++ test3 ++ test4 ++ test5 ++ test6 ++ test7 ++ test8 ++ test9 ++ test10 ++ test11 ++ test1u ++ test2u ++ test3u ++ test4u ++ test5u ++ test6u ++ test7u ++ test8u ++ test9u ++ test10u ++ test11u ++ misc1 ++ misc2 ++ test_format ++ test_cycles ++ test_non_char ++ test_static ++ test_actions ++ test_assert ++ test_symbols ++ test_dynamic ++ test_dynamic_grammar ++ test_skip ++ ) ++ ++foreach(runtest ${runtests}) ++ boost_test_run(${runtest} DEPENDS boost_unit_test_framework ) ++endforeach(runtest ${runtests}) ++ ++boost_test_link(multiple_defs multiple_defs1.cpp multiple_defs2.cpp) ++ ++set(compiletests ++ test_basic_regex ++ test_match_results ++ test_regex_algorithms ++ test_regex_compiler ++ test_regex_constants ++ test_regex_error ++ test_regex_iterator ++ test_regex_primitives ++ test_regex_token_iterator ++ test_regex_traits ++ test_sub_match ++ ) ++ ++foreach(compiletest ${compiletests}) ++ boost_test_compile(${compiletest}) ++endforeach(compiletest ${compiletests}) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/bcp/CMakeLists.txt boost-1.44.0-cmake/tools/bcp/CMakeLists.txt +--- boost_1_44_0/tools/bcp/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/bcp/CMakeLists.txt 2010-08-22 00:04:39.470083220 +0200 +@@ -0,0 +1,32 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_tool_project(bcp ++ DESCRIPTION "The bcp utility is a tool for extracting subsets of Boost." ++ AUTHORS "John Maddock" ++ ) ++ ++add_definitions(-DBOOST_REGEX_DYN_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1) ++ ++boost_add_executable( bcp ++ ++ add_path.cpp ++ bcp_imp.cpp ++ copy_path.cpp ++ file_types.cpp ++ fileview.cpp ++ main.cpp ++ path_operations.cpp ++ scan_cvs_path.cpp ++ licence_info.cpp ++ scan_licence.cpp ++ output_licence_info.cpp ++ ++ DEPENDS boost_system boost_filesystem boost_prg_exec_monitor boost_regex ++ STATIC_COMPILE_FLAGS -DBOOST_SYSTEM_STATIC_LINK=1 ++ RELEASE ++ STATIC ++ ) +Binary files boost_1_44_0/tools/build/CMake/Boost.bmp and boost-1.44.0-cmake/tools/build/CMake/Boost.bmp differ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/BoostConfig.cmake boost-1.44.0-cmake/tools/build/CMake/BoostConfig.cmake +--- boost_1_44_0/tools/build/CMake/BoostConfig.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/BoostConfig.cmake 2010-08-22 00:04:46.121854577 +0200 +@@ -0,0 +1,249 @@ ++########################################################################## ++# Boost Configuration Support # ++########################################################################## ++# Copyright (C) 2007 Douglas Gregor # ++# Copyright (C) 2007 Troy Straszheim # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# This module defines several variables that provide information about # ++# the target compiler and platform. # ++# # ++# Variables defined: # ++# # ++# BOOST_TOOLSET: # ++# The Boost toolset name, used by the library version mechanism to # ++# encode the compiler and version into the name of the # ++# library. This toolset name will correspond with Boost.Build # ++# version 2's toolset name, including version number. # ++# # ++# MULTI_THREADED_COMPILE_FLAGS: # ++# Compilation flags when building multi-threaded programs. # ++# # ++# MULTI_THREADED_LINK_FLAGS: # ++# Linker flags when building multi-threaded programs. # ++########################################################################## ++include(CheckCXXSourceCompiles) ++ ++ ++# Toolset detection. ++if (NOT BOOST_TOOLSET) ++ set(BOOST_TOOLSET "unknown") ++ if (MSVC60) ++ set(BOOST_TOOLSET "vc6") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "6.0") ++ elseif(MSVC70) ++ set(BOOST_TOOLSET "vc7") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "7.0") ++ elseif(MSVC71) ++ set(BOOST_TOOLSET "vc71") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "7.1") ++ elseif(MSVC80) ++ set(BOOST_TOOLSET "vc80") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "8.0") ++ elseif(MSVC90) ++ set(BOOST_TOOLSET "vc90") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "9.0") ++ elseif(MSVC) ++ set(BOOST_TOOLSET "vc") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "unknown") ++ elseif(BORLAND) ++ set(BOOST_TOOLSET "bcb") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "unknown") ++ elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) ++ set(BOOST_COMPILER "gcc") ++ ++ # Execute GCC with the -dumpversion option, to give us a version string ++ execute_process( ++ COMMAND ${CMAKE_CXX_COMPILER} "-dumpversion" ++ OUTPUT_VARIABLE GCC_VERSION_STRING) ++ ++ # Match only the major and minor versions of the version string ++ string(REGEX MATCH "[0-9]+.[0-9]+" GCC_MAJOR_MINOR_VERSION_STRING ++ "${GCC_VERSION_STRING}") ++ ++ # Match the full compiler version for the build name ++ string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" BOOST_COMPILER_VERSION ++ "${GCC_VERSION_STRING}") ++ ++ # Strip out the period between the major and minor versions ++ string(REGEX REPLACE "\\." "" BOOST_VERSIONING_GCC_VERSION ++ "${GCC_MAJOR_MINOR_VERSION_STRING}") ++ ++ # Set the GCC versioning toolset ++ set(BOOST_TOOLSET "gcc${BOOST_VERSIONING_GCC_VERSION}") ++ elseif(CMAKE_CXX_COMPILER MATCHES "/icpc$" ++ OR CMAKE_CXX_COMPILER MATCHES "/icpc.exe$" ++ OR CMAKE_CXX_COMPILER MATCHES "/icl.exe$") ++ set(BOOST_TOOLSET "intel") ++ set(BOOST_COMPILER "intel") ++ set(CMAKE_COMPILER_IS_INTEL ON) ++ execute_process( ++ COMMAND ${CMAKE_CXX_COMPILER} "-dumpversion" ++ OUTPUT_VARIABLE INTEL_VERSION_STRING ++ OUTPUT_STRIP_TRAILING_WHITESPACE) ++ set(BOOST_COMPILER_VERSION ${INTEL_VERSION_STRING}) ++ endif(MSVC60) ++endif (NOT BOOST_TOOLSET) ++ ++boost_report_pretty("Boost compiler" BOOST_COMPILER) ++boost_report_pretty("Boost toolset" BOOST_TOOLSET) ++ ++# create cache entry ++set(BOOST_PLATFORM "unknown") ++ ++# Multi-threading support ++if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") ++ set(MULTI_THREADED_COMPILE_FLAGS "-pthreads") ++ set(MULTI_THREADED_LINK_LIBS rt) ++ set(BOOST_PLATFORM "sunos") ++elseif(CMAKE_SYSTEM_NAME STREQUAL "BeOS") ++ # No threading options necessary for BeOS ++ set(BOOST_PLATFORM "beos") ++elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSD") ++ set(MULTI_THREADED_COMPILE_FLAGS "-pthread") ++ set(MULTI_THREADED_LINK_LIBS pthread) ++ set(BOOST_PLATFORM "bsd") ++elseif(CMAKE_SYSTEM_NAME STREQUAL "DragonFly") ++ # DragonFly is a FreeBSD bariant ++ set(MULTI_THREADED_COMPILE_FLAGS "-pthread") ++ set(BOOST_PLATFORM "dragonfly") ++elseif(CMAKE_SYSTEM_NAME STREQUAL "IRIX") ++ # TODO: GCC on Irix doesn't support multi-threading? ++ set(BOOST_PLATFORM "irix") ++elseif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") ++ # TODO: gcc on HP-UX does not support multi-threading? ++ set(BOOST_PLATFORM "hpux") ++elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") ++ # No threading options necessary for Mac OS X ++ set(BOOST_PLATFORM "macos") ++elseif(UNIX) ++ # Assume -pthread and -lrt on all other variants ++ set(MULTI_THREADED_COMPILE_FLAGS "-pthread -D_REENTRANT") ++ set(MULTI_THREADED_LINK_FLAGS "") ++ set(MULTI_THREADED_LINK_LIBS pthread rt) ++ ++ if (MINGW) ++ set(BOOST_PLATFORM "mingw") ++ elseif(CYGWIN) ++ set(BOOST_PLATFORM "cygwin") ++ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux") ++ set(BOOST_PLATFORM "linux") ++ else() ++ set(BOOST_PLATFORM "unix") ++ endif() ++elseif(WIN32) ++ set(BOOST_PLATFORM "windows") ++else() ++ set(BOOST_PLATFORM "unknown") ++endif() ++ ++# create cache entry ++set(BOOST_PLATFORM ${BOOST_PLATFORM} CACHE STRING "Boost platform name") ++ ++boost_report_pretty("Boost platform" BOOST_PLATFORM) ++ ++# Setup DEBUG_COMPILE_FLAGS, RELEASE_COMPILE_FLAGS, DEBUG_LINK_FLAGS and ++# and RELEASE_LINK_FLAGS based on the CMake equivalents ++if(CMAKE_CXX_FLAGS_DEBUG) ++ if(MSVC) ++ # Eliminate the /MDd flag; we'll add it back when we need it ++ string(REPLACE "/MDd" "" CMAKE_CXX_FLAGS_DEBUG ++ "${CMAKE_CXX_FLAGS_DEBUG}") ++ endif(MSVC) ++ set(DEBUG_COMPILE_FLAGS "${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "Compilation flags for debug libraries") ++endif(CMAKE_CXX_FLAGS_DEBUG) ++if(CMAKE_CXX_FLAGS_RELEASE) ++ if(MSVC) ++ # Eliminate the /MD flag; we'll add it back when we need it ++ string(REPLACE "/MD" "" CMAKE_CXX_FLAGS_RELEASE ++ "${CMAKE_CXX_FLAGS_RELEASE}") ++ endif(MSVC) ++ set(RELEASE_COMPILE_FLAGS "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "Compilation flags for release libraries") ++endif(CMAKE_CXX_FLAGS_RELEASE) ++if(CMAKE_SHARED_LINKER_FLAGS_DEBUG) ++ set(DEBUG_LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE STRING "Linker flags for debug libraries") ++endif(CMAKE_SHARED_LINKER_FLAGS_DEBUG) ++if(CMAKE_SHARED_LINKER_FLAGS_RELEASE) ++ set(RELEASE_LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" CACHE STRING "Link flags for release libraries") ++endif(CMAKE_SHARED_LINKER_FLAGS_RELEASE) ++ ++# Set DEBUG_EXE_LINK_FLAGS, RELEASE_EXE_LINK_FLAGS ++if (CMAKE_EXE_LINKER_FLAGS_DEBUG) ++ set(DEBUG_EXE_LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS_DEBUG}") ++endif (CMAKE_EXE_LINKER_FLAGS_DEBUG) ++if (CMAKE_EXE_LINKER_FLAGS_RELEASE) ++ set(RELEASE_EXE_LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") ++endif (CMAKE_EXE_LINKER_FLAGS_RELEASE) ++ ++# Tweak the configuration and build types appropriately. ++if(CMAKE_CONFIGURATION_TYPES) ++ # Limit CMAKE_CONFIGURATION_TYPES to Debug and Release ++ set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Semicolon-separate list of supported configuration types" FORCE) ++else(CMAKE_CONFIGURATION_TYPES) ++ # Build in release mode by default ++ if (NOT CMAKE_BUILD_TYPE) ++ set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are Release or Debug" FORCE) ++ endif (NOT CMAKE_BUILD_TYPE) ++endif(CMAKE_CONFIGURATION_TYPES) ++ ++# Clear out the built-in C++ compiler and link flags for each of the ++# configurations. ++set(CMAKE_CXX_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_EXE_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_CXX_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_EXE_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_CXX_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost") ++ ++# Set the build name ++set(BUILDNAME "${BOOST_COMPILER}-${BOOST_COMPILER_VERSION}-${BOOST_PLATFORM}") ++boost_report_pretty("Build name" BUILDNAME) ++ ++set(BUILD_EXAMPLES "NONE" CACHE STRING "Semicolon-separated list of lowercase project names that should have their examples built, or \"ALL\"") ++ ++set(BUILD_PROJECTS "ALL" CACHE STRING "Semicolon-separated list of project to build, or \"ALL\"") ++ ++set(LIB_SUFFIX "" CACHE STRING "Name of suffix on 'lib' directory to which libs will be installed (e.g. add '64' here on certain 64 bit unices)") ++if(LIB_SUFFIX) ++ boost_report_pretty("Lib suffix" LIB_SUFFIX) ++endif() ++ ++# ++# Only modify these if you're testing the cmake build itself ++# ++if(BOOST_CMAKE_SELFTEST) ++ colormsg(HIMAG "***") ++ colormsg(HIMAG "*** SELFTEST ENABLED") ++ colormsg(HIMAG "***") ++ set(root "${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/test") ++ set(BOOST_CMAKE_SELFTEST_ROOT ${root}) ++else() ++ set(root "${CMAKE_CURRENT_SOURCE_DIR}") ++endif() ++ ++set(BOOST_LIBS_PARENT_DIR "${root}/libs" CACHE INTERNAL ++ "Directory to glob tools from... only change to test the build system itself") ++ ++set(BOOST_TOOLS_PARENT_DIR "${root}/tools" CACHE INTERNAL ++ "Directory to glob tools from... only change to test the build system itself") ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/BoostCore.cmake boost-1.44.0-cmake/tools/build/CMake/BoostCore.cmake +--- boost_1_44_0/tools/build/CMake/BoostCore.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/BoostCore.cmake 2010-08-22 00:04:46.290853968 +0200 +@@ -0,0 +1,1579 @@ ++########################################################################## ++# Core Functionality for Boost # ++########################################################################## ++# Copyright (C) 2007-2009 Douglas Gregor # ++# Copyright (C) 2007-2009 Troy Straszheim # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# Important developer macros in this file: # ++# # ++# boost_library_project: Defines a Boost library project (e.g., # ++# Boost.Python). # ++# # ++# boost_add_library: Builds library binaries for Boost libraries # ++# with compiled sources (e.g., boost_filesystem). # ++# # ++# boost_add_executable: Builds executables. # ++########################################################################## ++ ++# Defines a Boost library project (e.g., for Boost.Python). Use as: ++# ++# boost_library_project(libname ++# [SRCDIRS srcdir1 srcdir2 ...] ++# [TESTDIRS testdir1 testdir2 ...] ++# [DEPENDS lib1 lib2 ...] ++# [DESCRIPTION description] ++# [AUTHORS author1 author2 ...] ++# [MAINTAINERS maint1 maint2 ...] ++# [MODULARIZED]) ++# ++# where libname is the name of the library (e.g., Python, or ++# Filesystem), srcdir1, srcdir2, etc, are subdirectories containing ++# library sources (for Boost libraries that build actual library ++# binaries), and testdir1, testdir2, etc, are subdirectories ++# 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. ++# ++# 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 ++# ++# Example: ++# boost_library_project( ++# Thread ++# SRCDIRS src ++# TESTDIRS test ++# ) ++macro(boost_library_project LIBNAME) ++ parse_arguments(THIS_PROJECT ++ "SRCDIRS;TESTDIRS;EXAMPLEDIRS;HEADERS;DOCDIRS;DESCRIPTION;AUTHORS;MAINTAINERS" ++ "MODULARIZED" ++ ${ARGN} ++ ) ++ ++ # Set THIS_PROJECT_DEPENDS_ALL to the set of all of its ++ # dependencies, its dependencies' dependencies, etc., transitively. ++ string(TOUPPER "BOOST_${LIBNAME}_DEPENDS" THIS_PROJECT_DEPENDS) ++ set(THIS_PROJECT_DEPENDS_ALL ${${THIS_PROJECT_DEPENDS}}) ++ set(ADDED_DEPS TRUE) ++ while (ADDED_DEPS) ++ set(ADDED_DEPS FALSE) ++ foreach(DEP ${THIS_PROJECT_DEPENDS_ALL}) ++ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS) ++ foreach(DEPDEP ${${DEP_DEPENDS}}) ++ list(FIND THIS_PROJECT_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_PROJECT_DEPENDS_ALL ${DEPDEP}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ endforeach() ++ endforeach() ++ endwhile() ++ ++ string(TOLOWER "${LIBNAME}" libname) ++ string(TOLOWER "${LIBNAME}" BOOST_PROJECT_NAME) ++ string(TOUPPER "${LIBNAME}" ULIBNAME) ++ project(${LIBNAME}) ++ ++ ++ if (THIS_PROJECT_MODULARIZED OR THIS_PROJECT_SRCDIRS) ++ ++ # We only build a component group for modularized libraries or libraries ++ # that have compiled parts. ++ if (COMMAND cpack_add_component_group) ++ # Compute a reasonable description for this library. ++ 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) ++ endif (THIS_PROJECT_DESCRIPTION) ++ ++ # Create a component group for this library ++ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname}) ++ cpack_add_component_group(${CPACK_COMPONENT_GROUP_NAME} ++ DISPLAY_NAME "${LIBNAME}" ++ DESCRIPTION ${THIS_PROJECT_DESCRIPTION}) ++ endif () # COMMAND cpake_add_component_group ++ endif () # THIS_PROJECT_MODULARIZED OR THIS_PROJECT_SRCDIRS ++ ++ if (THIS_PROJECT_MODULARIZED) ++ # ++ # Don't add this module's include directory ++ # until modularization makes sense ++ # ++ # include_directories("${Boost_SOURCE_DIR}/libs/${libname}/include") ++ ++ # ++ # Horrible hackery. Make install of headers from modularized directories ++ # OPTIONAL, which only works on cmake >= 2.7 ++ # ++ # ++ # TDS 20091009: disable this modularized stuff, as forcing ++ # people to make modularize (which wastes your source directory) ++ # is a huge hassle and anyway it looks like the 'modularization' ++ # of boost is dead for a while. ++ # ++ ++ # if (${CMAKE_MAJOR_VERSION} GREATER 1 AND ${CMAKE_MINOR_VERSION} GREATER 6) ++ # # Install this module's headers ++ # install(DIRECTORY include/boost ++ # DESTINATION ${BOOST_HEADER_DIR} ++ # ${_INSTALL_OPTIONAL} ++ # COMPONENT ${libname}_headers ++ # PATTERN "CVS" EXCLUDE ++ # PATTERN ".svn" EXCLUDE) ++ # else() ++ # if (EXISTS include/boost) ++ # # Install this module's headers ++ # install(DIRECTORY include/boost ++ # DESTINATION ${BOOST_HEADER_DIR} ++ # ${_INSTALL_OPTIONAL} ++ # COMPONENT ${libname}_headers ++ # PATTERN "CVS" EXCLUDE ++ # PATTERN ".svn" EXCLUDE) ++ # endif() ++ # endif() ++ ++ ++ if (COMMAND cpack_add_component) ++ # Determine the header dependencies ++ set(THIS_PROJECT_HEADER_DEPENDS) ++ foreach(DEP ${${THIS_PROJECT_DEPENDS}}) ++ string(TOLOWER ${DEP} dep) ++ if (${dep} STREQUAL "serialization") ++ # TODO: Ugly, ugly hack until the serialization library is modularized ++ elseif (${dep} STREQUAL "thread") ++ else() ++ list(APPEND THIS_PROJECT_HEADER_DEPENDS ${dep}_headers) ++ endif() ++ endforeach(DEP) ++ ++ # Tell CPack about the headers component ++ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname}) ++ cpack_add_component(${libname}_headers ++ DISPLAY_NAME "Header files" ++ GROUP ${CPACK_COMPONENT_GROUP_NAME} ++ DEPENDS ${THIS_PROJECT_HEADER_DEPENDS}) ++ endif () ++ endif () # THIS_PROJECT_MODULARIZED ++ ++ #-- This is here to debug the modularize code ++ set(modularize_debug FALSE) ++ if (modularize_debug) ++ set(modularize_output ${Boost_BINARY_DIR}) ++ set(modularize_libs_dir "modularize") ++ else (modularize_debug) ++ set(modularize_output ${Boost_SOURCE_DIR}) ++ set(modularize_libs_dir "libs") ++ endif(modularize_debug) ++ ++ # ++ # Modularization code ++ # ++ if(THIS_PROJECT_HEADERS) ++ set(${LIBNAME}-modularize-commands) ++ foreach(item ${THIS_PROJECT_HEADERS}) ++ if(EXISTS "${Boost_SOURCE_DIR}/boost/${item}") ++ if(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}") ++ list(APPEND ${LIBNAME}-modularize-commands ++ COMMAND "${CMAKE_COMMAND}" -E copy_directory ++ "${Boost_SOURCE_DIR}/boost/${item}" ++ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost/${item}" ++ ) ++ if (NOT modularize_debug) ++ list(APPEND ${LIBNAME}-modularize-commands ++ COMMAND "${CMAKE_COMMAND}" -E remove_directory "${Boost_SOURCE_DIR}/boost/${item}" ++ ) ++ endif (NOT modularize_debug) ++ else(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}") ++ list(APPEND ${LIBNAME}-modularize-commands ++ COMMAND "${CMAKE_COMMAND}" -E copy ++ "${Boost_SOURCE_DIR}/boost/${item}" ++ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost/${item}" ++ ) ++ if (NOT modularize_debug) ++ list(APPEND ${LIBNAME}-modularize-commands ++ COMMAND "${CMAKE_COMMAND}" -E remove "${Boost_SOURCE_DIR}/boost/${item}" ++ ) ++ endif (NOT modularize_debug) ++ ++ endif(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}") ++ elseif(EXISTS "${Boost_SOURCE_DIR}/${modularize_libs_dir}/${libname}/include/boost/${item}") ++ # Okay; already modularized ++ else() ++ message(SEND_ERROR ++ "Header or directory boost/${item} does not exist. The HEADERS argument in ${Boost_SOURCE_DIR}/${modularize_libs_dir}/${libname}/CMakeLists.txt should be updated.") ++ endif() ++ endforeach(item) ++ ++ if (${LIBNAME}-modularize-commands) ++ set(${LIBNAME}-modularize-commands ++ # COMMAND "${CMAKE_COMMAND}" -E remove_directory "${modularize_output}/libs/${libname}/include" ++ COMMAND "${CMAKE_COMMAND}" -E make_directory ++ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost" ++ ${${LIBNAME}-modularize-commands} ++ ) ++ if (NOT modularize_debug) ++ set(${LIBNAME}-modularize-commands ++ COMMAND "${CMAKE_COMMAND}" -E remove_directory "${modularize_output}/${modularize_libs_dir}/${libname}/include" ++ ${${LIBNAME}-modularize-commands} ++ ) ++ endif (NOT modularize_debug) ++ # disable modularization ++ # add_custom_target(${LIBNAME}-modularize ++ # ${${LIBNAME}-modularize-commands} ++ # COMMENT "Modularizing ${LIBNAME} headers to project-local dir from monolithic boost dir" ++ # ) ++ ++ if(THIS_PROJECT_MODULARIZED) ++ # ++ # Temporarily disable modularization ++ # ++ # add_dependencies(modularize ${LIBNAME}-modularize) ++ # ++ endif(THIS_PROJECT_MODULARIZED) ++ endif() ++ endif(THIS_PROJECT_HEADERS) ++ ++ # For each of the modular libraries on which this project depends, ++ # add the include path for that library. ++ set(THIS_PROJECT_HAS_HEADER_DEPENDS FALSE) ++ # Temporarily disable modularization stuff. ++ # foreach(DEP ${THIS_PROJECT_DEPENDS_ALL}) ++ # include_directories("${modularize_output}/${modularize_libs_dir}/${DEP}/include") ++ # endforeach(DEP) ++ ++ # TODO: is this still necessary? ++ if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests) ++ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/tests) ++ endif(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests) ++ if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME}) ++ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME}) ++ endif(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME}) ++ ++ # Include each of the source directories ++ if(THIS_PROJECT_SRCDIRS) ++ foreach(SUBDIR ${THIS_PROJECT_SRCDIRS}) ++ add_subdirectory(${SUBDIR}) ++ endforeach(SUBDIR ${THIS_PROJECT_SRCDIRS}) ++ endif() ++ ++ set(BOOST_ALL_COMPONENTS ${BOOST_ALL_COMPONENTS} PARENT_SCOPE) ++ ++ #set(BOOST_${LIBNAME}_COMPONENTS ${THIS_PROJECT_COMPONENTS} PARENT_SCOPE) ++ #message("BOOST_${LIBNAME}_COMPONENTS ${THIS_PROJECT_COMPONENTS}") ++ #set(BOOST_ALL_COMPONENTS ${LIBNAME} ${BOOST_ALL_COMPONENTS} PARENT_SCOPE) ++ ++ list(FIND BUILD_TESTS ${libname} BUILD_TESTS_INDEX) ++ if ((BUILD_TESTS_INDEX GREATER -1) OR (BUILD_TESTS STREQUAL "ALL")) ++ # set the tests directories list for later inclusion ++ # project(${libname}-tests) ++ if (THIS_PROJECT_TESTDIRS) ++ set(BOOST_TEST_PROJECTS ${ULIBNAME} ${BOOST_TEST_PROJECTS} PARENT_SCOPE) ++ endif() ++ foreach(SUBDIR ${THIS_PROJECT_TESTDIRS}) ++ # message(STATUS "+-- ${SUBDIR}") ++ # add_subdirectory(${SUBDIR}) ++ set(BOOST_${ULIBNAME}_TESTDIRS ++ ${BOOST_${ULIBNAME}_TESTDIRS} ++ ${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIR} ++ PARENT_SCOPE) ++ endforeach() ++ endif() ++ ++ list(FIND BUILD_EXAMPLES ${libname} BUILD_EXAMPLES_INDEX) ++ if ((BUILD_EXAMPLES_INDEX GREATER -1) OR (BUILD_EXAMPLES STREQUAL "ALL")) ++ project(${libname}-examples) ++ # Include the example directories. ++ foreach(SUBDIR ${THIS_PROJECT_EXAMPLEDIRS}) ++ message(STATUS "+-- ${SUBDIR}") ++ add_subdirectory(${SUBDIR}) ++ endforeach() ++ endif() ++ ++ if (BUILD_DOCUMENTATION AND THIS_PROJECT_DOCDIRS) ++ foreach(SUBDIR ${THIS_PROJECT_DOCDIRS}) ++ add_subdirectory(${SUBDIR}) ++ endforeach(SUBDIR) ++ endif () ++endmacro(boost_library_project) ++ ++macro(boost_tool_project TOOLNAME) ++ parse_arguments(THIS_PROJECT ++ "DESCRIPTION;AUTHORS;MAINTAINERS" ++ "" ++ ${ARGN} ++ ) ++ ++ set(THIS_PROJECT_IS_TOOL TRUE) ++ ++ string(TOUPPER ${TOOLNAME} UTOOLNAME) ++ project(${TOOLNAME}) ++ ++ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++ ++ set(THIS_PROJECT_OKAY ON) ++ set(THIS_PROJECT_FAILED_DEPS "") ++ ++ # message(">>> ${BOOST_${UTOOLNAME}_DEPENDS}") ++ # foreach(DEP ${BOOST_${UTOOLNAME}_DEPENDS}) ++ # get_target_property(dep_location boost_${DEP} TYPE) ++ # message("${DEP} TYPE=${dep_location}") ++ # if (NOT ${dep_location}) ++ # set(THIS_PROJECT_OKAY OFF) ++ # set(THIS_PROJECT_FAILED_DEPS "${THIS_PROJECT_FAILED_DEPS} ${DEP}\n") ++ # endif (NOT ${dep_location}) ++ # endforeach(DEP) ++ # ++ # if (NOT THIS_PROJECT_OKAY) ++ # #if (BUILD_${UTOOLNAME}) ++ # # The user explicitly turned on this tool in a prior ++ # # iteration, but it can no longer be built because one of the ++ # # dependencies was turned off. Force this option off and ++ # # complain about it. ++ # set(BUILD_${UTOOLNAME} OFF CACHE BOOL "Build ${TOOLNAME}" FORCE) ++ # message(SEND_ERROR "Cannot build ${TOOLNAME} due to missing library dependencies:\n${THIS_PROJECT_FAILED_DEPS}") ++ # #endif () ++ # endif (NOT THIS_PROJECT_OKAY) ++ # ++ # if(BUILD_${UTOOLNAME} AND THIS_PROJECT_OKAY) ++ # string(TOLOWER "${TOOLNAME}" toolname) ++ # ++ # # Add this module's include directory ++ # ++ # # For each of the modular libraries on which this project depends, ++ # # add the include path for that library. ++ # foreach(DEP ${BOOST_${UTOOLNAME}_DEPENDS}) ++ # string(TOUPPER ${DEP} UDEP) ++ # # ++ # # Modularization disabled ++ # # ++ # # include_directories("${Boost_SOURCE_DIR}/libs/${DEP}/include") ++ # # ++ # endforeach(DEP) ++ # endif() ++endmacro(boost_tool_project) ++ ++#TODO: Finish this documentation ++# Defines dependencies of a boost project and testing targets. Use as: ++# ++# boost_module(libname ++# DEPENDS srcdir1 srcdir2 ... ++# TEST_DEPENDS testdir1 testdir2 ... ++# ++# Example: ++# boost_library_project( ++# Thread ++# SRCDIRS src ++# TESTDIRS test ++# ) ++# ++macro(boost_module LIBNAME) ++ parse_arguments(THIS_MODULE ++ "DEPENDS" ++ "" ++ ${ARGN} ++ ) ++ ++ # Export BOOST_${LIBNAME}_DEPENDS ++ string(TOUPPER "BOOST_${LIBNAME}_DEPENDS" THIS_MODULE_LIBNAME_DEPENDS) ++ set(${THIS_MODULE_LIBNAME_DEPENDS} ${THIS_MODULE_DEPENDS}) ++ ++ # message(STATUS "----------------------------------------------------------------") ++ # message(STATUS "LIBNAME: ${LIBNAME}") ++ # message(STATUS "THIS_MODULE_DEPENDS: ${THIS_MODULE_DEPENDS}") ++ # message(STATUS "THIS_MODULE_LIBNAME_DEPENDS: ${THIS_MODULE_LIBNAME_DEPENDS}") ++ # message(STATUS "${THIS_MODULE_LIBNAME_DEPENDS}: ${${THIS_MODULE_LIBNAME_DEPENDS}}") ++ # message(STATUS "THIS_MODULE_TEST_DEPENDS: ${THIS_MODULE_TEST_DEPENDS}") ++ # message(STATUS "THIS_MODULE_LIBNAME_TEST_DEPENDS: ${THIS_MODULE_LIBNAME_TEST_DEPENDS}") ++ # message(STATUS "${THIS_MODULE_LIBNAME_TEST_DEPENDS}: ${${THIS_MODULE_LIBNAME_TEST_DEPENDS}}") ++endmacro(boost_module) ++ ++# This macro is an internal utility macro that builds the name of a ++# particular variant of a library ++# ++# boost_library_variant_target_name(feature1 feature2 ...) ++# ++# where feature1, feature2, etc. are the names of features to be ++# included in this variant, e.g., MULTI_THREADED, DEBUG. ++# ++# This macro sets three macros: ++# ++# VARIANT_TARGET_NAME: The suffix that should be appended to the ++# name of the library target to name this variant of the ++# library. For example, this might be "-mt-static" for a static, ++# multi-threaded variant. It should be used to name the CMake ++# library target, e.g., boost_signals-mt-static. ++# ++# VARIANT_VERSIONED_NAME: The suffix that will be added to the name ++# of the generated library, containing information about the ++# particular version of the library and the toolset used to build ++# this library. For example, this might be "-gcc41-mt-1_34" for the ++# multi-threaded, release variant of the library in Boost 1.34.0 as ++# compiled with GCC 4.1. If option MANGLE_LIBNAMES is OFF, this ++# variable is set to the empty string. ++# ++# VARIANT_DISPLAY_NAME: The display name that describes this ++# variant, e.g., "Debug, static, multi-threaded". ++# ++macro(boost_library_variant_target_name) ++ set(VARIANT_TARGET_NAME "") ++ ++ # The versioned name starts with the full Boost toolset ++ if(WINMANGLE_LIBNAMES) ++ set(VARIANT_VERSIONED_NAME "-${BOOST_TOOLSET}") ++ else(WINMANGLE_LIBNAMES) ++ set(VARIANT_VERSIONED_NAME "") ++ endif(WINMANGLE_LIBNAMES) ++ ++ # Add -mt for multi-threaded libraries ++ list_contains(VARIANT_IS_MT MULTI_THREADED ${ARGN}) ++ if (VARIANT_IS_MT) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-mt") ++ ++ # If we're creating versioned names, tack on "-mt" ++ set(VARIANT_VERSIONED_NAME "${VARIANT_VERSIONED_NAME}-mt") ++ endif (VARIANT_IS_MT) ++ ++ # Add -static for static libraries, -shared for shared libraries ++ list_contains(VARIANT_IS_STATIC STATIC ${ARGN}) ++ if (VARIANT_IS_STATIC) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-static") ++ set(VARIANT_DISPLAY_NAME "Static") ++ else (VARIANT_IS_STATIC) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-shared") ++ set(VARIANT_DISPLAY_NAME "Shared") ++ endif (VARIANT_IS_STATIC) ++ ++ # Add "multi-threaded" to the display name for multithreaded libraries. ++ if (VARIANT_IS_MT) ++ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, multi-threaded") ++ endif () ++ ++ # Compute the ABI tag, which depends on various kinds of options ++ set(VARIANT_ABI_TAG "") ++ ++ # Linking statically to the runtime library ++ list_contains(VARIANT_IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN}) ++ if (VARIANT_IS_STATIC_RUNTIME) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-staticrt") ++ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}s") ++ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, static runtime") ++ endif (VARIANT_IS_STATIC_RUNTIME) ++ ++ # Using the debug version of the runtime library. ++ # With Visual C++, this comes automatically with debug ++ if (MSVC) ++ list_contains(VARIANT_IS_DEBUG DEBUG ${ARGN}) ++ if (VARIANT_IS_DEBUG) ++ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}g") ++ endif (VARIANT_IS_DEBUG) ++ endif (MSVC) ++ ++ # Add -pydebug for debug builds of Python ++ list_contains(VARIANT_IS_PYDEBUG PYTHON_DEBUG ${ARGN}) ++ if (VARIANT_IS_PYDEBUG) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-pydebug") ++ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}y") ++ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, Python debugging") ++ endif (VARIANT_IS_PYDEBUG) ++ ++ # TODO: STLport rather than default library ++ # TODO: STLport's deprecated iostreams ++ ++ # Add -debug for debug libraries ++ list_contains(VARIANT_IS_DEBUG DEBUG ${ARGN}) ++ # message("ARGN=${ARGN}") ++ if (VARIANT_IS_DEBUG) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-debug") ++ ++ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}d") ++ ++ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, debug") ++ else() ++ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, release") ++ endif() ++ ++ # If there is an ABI tag, append it to the versioned name ++ if (VARIANT_ABI_TAG) ++ set(VARIANT_VERSIONED_NAME "${VARIANT_VERSIONED_NAME}-${VARIANT_ABI_TAG}") ++ endif (VARIANT_ABI_TAG) ++ ++ if(WINMANGLE_LIBNAMES) ++ # Append the Boost version number to the versioned name ++ if(BOOST_VERSION_SUBMINOR GREATER 0) ++ set(VARIANT_VERSIONED_NAME ++ "${VARIANT_VERSIONED_NAME}-${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}_${BOOST_VERSION_SUBMINOR}") ++ else(BOOST_VERSION_SUBMINOR GREATER 0) ++ set(VARIANT_VERSIONED_NAME ++ "${VARIANT_VERSIONED_NAME}-${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}") ++ endif(BOOST_VERSION_SUBMINOR GREATER 0) ++ endif(WINMANGLE_LIBNAMES) ++endmacro(boost_library_variant_target_name) ++ ++# This macro is an internal utility macro that updates compilation and ++# linking flags based on interactions among the features in a variant. ++# ++# boost_feature_interactions(prefix ++# feature1 feature2 ...) ++# ++# where "prefix" is the prefix of the compilation and linking flags ++# that will be updated (e.g., ${prefix}_COMPILE_FLAGS). feature1, ++# feature2, etc. are the names of the features used in this particular ++# variant. If the features in this variant conflict, set ++# ${prefix}_OKAY to FALSE. ++macro(boost_feature_interactions PREFIX) ++ # Don't build or link against a shared library and a static run-time ++ list_contains(IS_SHARED SHARED ${ARGN}) ++ list_contains(IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN}) ++ if (IS_SHARED AND IS_STATIC_RUNTIME) ++ set(${PREFIX}_OKAY FALSE) ++ endif (IS_SHARED AND IS_STATIC_RUNTIME) ++ ++ # With Visual C++, the dynamic runtime is multi-threaded only ++ if (MSVC) ++ list_contains(IS_DYNAMIC_RUNTIME DYNAMIC_RUNTIME ${ARGN}) ++ list_contains(IS_SINGLE_THREADED SINGLE_THREADED ${ARGN}) ++ if (IS_DYNAMIC_RUNTIME AND IS_SINGLE_THREADED) ++ set(${PREFIX}_OKAY FALSE) ++ endif (IS_DYNAMIC_RUNTIME AND IS_SINGLE_THREADED) ++ endif (MSVC) ++ ++ # Visual C++-specific runtime library flags ++ if(MSVC) ++ list_contains(IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN}) ++ list_contains(IS_DEBUG DEBUG ${ARGN}) ++ if(IS_DEBUG) ++ if(IS_STATIC_RUNTIME) ++ set(${PREFIX}_COMPILE_FLAGS "/MTd ${${PREFIX}_COMPILE_FLAGS}") ++ else(IS_STATIC_RUNTIME) ++ set(${PREFIX}_COMPILE_FLAGS "/MDd ${${PREFIX}_COMPILE_FLAGS}") ++ endif(IS_STATIC_RUNTIME) ++ else(IS_DEBUG) ++ if(IS_STATIC_RUNTIME) ++ set(${PREFIX}_COMPILE_FLAGS "/MT ${${PREFIX}_COMPILE_FLAGS}") ++ else(IS_STATIC_RUNTIME) ++ set(${PREFIX}_COMPILE_FLAGS "/MD ${${PREFIX}_COMPILE_FLAGS}") ++ endif(IS_STATIC_RUNTIME) ++ endif(IS_DEBUG) ++ endif(MSVC) ++endmacro(boost_feature_interactions) ++ ++# This macro is an internal utility macro that builds a particular ++# variant of a boost library. ++# ++# boost_library_variant(libname ++# feature1 feature2 ...) ++# ++# where libname is the name of the Boost library (e.g., ++# "boost_filesystem") and feature1, feature2, ... are the features ++# that will be used in this variant. ++# ++# This macro will define a new library target based on libname and the ++# specific variant name (see boost_library_variant_target_name), which ++# depends on the utility target libname. The compilation and linking ++# flags for this library are defined by THIS_LIB_COMPILE_FLAGS, ++# THIS_LIB_LINK_FLAGS, THIS_LIB_LINK_LIBS, and all of the compile and ++# linking flags implied by the features provided. ++# ++# If any of the features listed conflict with this library, no new ++# targets will be built. For example, if the library provides the ++# option NO_MULTI_THREADED, and one of the features provided is ++# MULTI_THREADED, this macro will essentially be a no-op. ++macro(boost_library_variant LIBNAME) ++ set(THIS_VARIANT_COMPILE_FLAGS "${THIS_LIB_COMPILE_FLAGS}") ++ set(THIS_VARIANT_LINK_FLAGS "${THIS_LIB_LINK_FLAGS}") ++ set(THIS_VARIANT_LINK_LIBS ${THIS_LIB_LINK_LIBS}) ++ ++ # Determine if it is okay to build this variant ++ set(THIS_VARIANT_OKAY TRUE) ++ foreach(ARG ${ARGN}) ++ # If the library itself stated that we cannot build this variant, ++ # don't. For example, we're trying to build a shared library ++ # variant, but the user specified NO_SHARED in the requirements of ++ # the library. ++ if (THIS_LIB_NO_${ARG}) ++ set(THIS_VARIANT_OKAY FALSE) ++ set(SELECT_VARIANT_FAILURE_REASONS "NO_${ARG}") ++ endif (THIS_LIB_NO_${ARG}) ++ ++ # If the user specified that we should not build any variants of ++ # this kind, don't. For example, if the ENABLE_SHARED option is ++ # off, don't build shared libraries. ++ if(NOT ENABLE_${ARG}) ++ set(THIS_VARIANT_OKAY FALSE) ++ set(SELECT_VARIANT_FAILURE_REASONS "variant disabled because ENABLE_${ARG} is OFF") ++ endif(NOT ENABLE_${ARG}) ++ ++ # Accumulate compile and link flags ++ set(THIS_VARIANT_COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS} ${THIS_LIB_${ARG}_COMPILE_FLAGS} ${${ARG}_COMPILE_FLAGS}") ++ set(THIS_VARIANT_LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS} ${THIS_LIB_${ARG}_LINK_FLAGS} ${${ARG}_LINK_FLAGS}") ++ set(THIS_VARIANT_LINK_LIBS ${THIS_VARIANT_LINK_LIBS} ${THIS_LIB_${ARG}_LINK_LIBS} ${${ARG}_LINK_LIBS}) ++ endforeach(ARG ${ARGN}) ++ ++ # message("boost_library_variant(${LIBNAME} ${ARGN})") ++ ++ # Handle feature interactions ++ boost_feature_interactions("THIS_VARIANT" ${ARGN}) ++ boost_library_variant_target_name(${ARGN}) ++ # Determine the suffix for this library target ++ set(VARIANT_LIBNAME "${LIBNAME}${VARIANT_TARGET_NAME}") ++ trace(VARIANT_LIBNAME) ++ ++ set(DEPENDENCY_FAILURES "") ++ foreach(dep ${THIS_LIB_DEPENDS}) ++ trace(dep) ++ dependency_check("${dep}${VARIANT_TARGET_NAME}") ++ endforeach() ++ trace(THIS_VARIANT_OKAY) ++ trace(DEPENDENCY_FAILURES) ++ ++ # ++ # Announce dependency failures only if this variant ++ # is otherwise OK ++ # ++ if(THIS_VARIANT_OKAY AND DEPENDENCY_FAILURES) ++ set(THIS_VARIANT_OKAY FALSE) ++ # separate_arguments(DEPENDENCY_FAILURES) ++ colormsg(HIRED " ${LIBNAME}${VARIANT_TARGET_NAME}" RED "(library) disabled due to dependency failures:") ++ foreach (depfail ${DEPENDENCY_FAILURES}) ++ colormsg(RED " " YELLOW "${depfail}") ++ endforeach() ++ endif() ++ ++ if (THIS_VARIANT_OKAY) ++ ++ # We handle static vs. dynamic libraries differently ++ list_contains(THIS_LIB_IS_STATIC "STATIC" ${ARGN}) ++ ++ if (THIS_LIB_IS_STATIC) ++ ++ add_library(${VARIANT_LIBNAME} STATIC ${THIS_LIB_SOURCES}) ++ ++ # On Windows, we need static and shared libraries to have ++ # different names, so we follow the Boost.Build version 2 style ++ # and prepend "lib" to the name. ++ if(WIN32 AND NOT (CYGWIN OR MINGW)) ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ PREFIX "${LIBPREFIX}" ++ ) ++ endif() ++ ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ OUTPUT_NAME "${LIBNAME}${VARIANT_VERSIONED_NAME}" ++ CLEAN_DIRECT_OUTPUT 1 ++ COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}" ++ LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}" ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ ++ elseif (THIS_LIB_MODULE) ++ ++ add_library(${VARIANT_LIBNAME} MODULE ${THIS_LIB_SOURCES}) ++ ++ # ++ # You don't set SOVERSION here... nothing links "to" these things ++ # ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ OUTPUT_NAME ${LIBNAME} ++ CLEAN_DIRECT_OUTPUT 1 ++ COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}" ++ LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}" ++ LABELS "${BOOST_PROJECT_NAME}" ++ PREFIX "" ++ ) ++ ++ else () # shared ++ ++ add_library(${VARIANT_LIBNAME} SHARED ${THIS_LIB_SOURCES}) ++ ++ if(MINGW) ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ PREFIX "" ++ ) ++ endif() ++ ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ OUTPUT_NAME "${LIBNAME}${VARIANT_VERSIONED_NAME}" ++ CLEAN_DIRECT_OUTPUT 1 ++ COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}" ++ LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}" ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ ++ if (BUILD_SOVERSIONED) ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ SOVERSION "${BOOST_VERSION}" ++ ) ++ endif() ++ endif () ++ ++ # The basic LIBNAME target depends on each of the variants ++ add_dependencies(${LIBNAME} ${VARIANT_LIBNAME}) ++ ++ # Link against whatever libraries this library depends on ++ target_link_libraries(${VARIANT_LIBNAME} ${THIS_VARIANT_LINK_LIBS}) ++ ++ foreach(d ${THIS_LIB_DEPENDS}) ++ # message(STATUS "linking ${d}") ++ target_link_libraries(${VARIANT_LIBNAME} "${d}${VARIANT_TARGET_NAME}") ++ endforeach() ++ ++ export(TARGETS ${VARIANT_LIBNAME} ++ APPEND ++ FILE ${BOOST_EXPORTS_FILE}) ++ ++ if(NOT THIS_LIB_NO_INSTALL) ++ # Setup installation properties ++ string(TOLOWER "${BOOST_PROJECT_NAME}${VARIANT_TARGET_NAME}" LIB_COMPONENT) ++ string(REPLACE "-" "_" LIB_COMPONENT ${LIB_COMPONENT}) ++ ++ # Installation of this library variant ++ string(TOLOWER ${BOOST_PROJECT_NAME} libname) ++ ++ # ++ # tds: componentization disabled for the moment ++ # ++ install(TARGETS ${VARIANT_LIBNAME} ++ EXPORT Boost ++ DESTINATION ${BOOST_LIB_INSTALL_DIR} ++ COMPONENT Boost) #${LIB_COMPONENT}) ++ ++ # set_property( ++ # TARGET ${VARIANT_LIBNAME} ++ # PROPERTY BOOST_CPACK_COMPONENT ++ # ${LIB_COMPONENT}) ++ ++ # Make the library installation component dependent on the library ++ # installation components of dependent libraries. ++ trace(THIS_LIB_DEPENDS) ++ set(THIS_LIB_COMPONENT_DEPENDS) ++ foreach(DEP ${THIS_LIB_DEPENDS}) ++ # We ask the library variant that this library depends on to tell us ++ # what it's associated installation component is. We depend on that ++ # installation component. ++ get_property(DEP_COMPONENT ++ TARGET "${DEP}${VARIANT_TARGET_NAME}" ++ PROPERTY BOOST_CPACK_COMPONENT) ++ ++ if (DEP_COMPONENT) ++ if (DEP_COMPONENT STREQUAL LIB_COMPONENT) ++ # Do nothing: we have library dependencies within one ++ # Boost library ++ else() ++ list(APPEND THIS_LIB_COMPONENT_DEPENDS ${DEP_COMPONENT}) ++ endif() ++ endif() ++ endforeach(DEP) ++ ++ if (COMMAND cpack_add_component) ++ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname}) ++ cpack_add_component(${LIB_COMPONENT} ++ DISPLAY_NAME "${VARIANT_DISPLAY_NAME}" ++ GROUP ${CPACK_COMPONENT_GROUP_NAME} ++ DEPENDS ${THIS_LIB_COMPONENT_DEPENDS}) ++ endif () ++ endif(NOT THIS_LIB_NO_INSTALL) ++ endif () ++endmacro(boost_library_variant) ++ ++# Updates the set of default build variants to account for variations ++# in the given feature. ++# ++# boost_add_default_variant(feature-val1 feature-val2 ...) ++# ++# Each new feature creates a new set of build variants using that ++# feature. For example, writing: ++# ++# boost_add_default_variant(SINGLE_THREADED MULTI_THREADED) ++# ++# will create single- and multi-threaded variants of every default ++# library variant already defined, doubling the number of variants ++# that will be built. See the top-level CMakeLists.txt for the set of ++# default variants. ++# ++# Variables affected: ++# ++# BOOST_DEFAULT_VARIANTS: ++# This variable describes all of the variants that will be built ++# by default, and will be updated with each invocation of ++# boost_add_default_variant. The variable itself is a list, where ++# each element in the list contains a colon-separated string ++# naming a specific set of features for that variant, e.g., ++# STATIC:DEBUG:SINGLE_THREADED. ++# ++# BOOST_FEATURES: ++# This variable describes all of the feature sets that we know about, ++# and will be extended each time ither boost_add_default_variant or ++# boost_add_extra_variant is invoked. This macro will contain a list ++# of feature sets, each containing the values for a given feature ++# separated by colons, e.g., "DEBUG:RELEASE". ++# ++# BOOST_ADD_ARG_NAMES: ++# This variable describes all of the feature-specific arguments ++# that can be used for the boost_add_library macro, separated by ++# semicolons. For example, given the use of ++# boost_add_default_variant above, this variable will contain (at ++# least) ++# ++# SINGLE_THREADED_COMPILE_FLAGS;SINGLE_THREADED_LINK_FLAGS; ++# MULTI_THREADED_COMPILE_FLAGS;MULTI_THREADED_LINK_FLAGS ++# ++# When this variable is used in boost_add_library, it turns these ++# names into feature-specific options. For example, ++# MULTI_THREADED_COMPILE_FLAGS provides extra compile flags to be ++# used only for multi-threaded variants of the library. ++# ++# BOOST_ADDLIB_OPTION_NAMES: ++# Like BOOST_ADD_ARG_NAMES, this variable describes ++# feature-specific options to boost_add_library that can be used to ++# turn off building of the library when the variant would require ++# certain features. For example, the NO_SINGLE_THREADED option ++# turns off building of single-threaded variants for a library. ++# ++# BOOST_ADDEXE_OPTION_NAMES: ++# Like BOOST_ADDLIB_OPTION_NAMES, except that that variable ++# describes options to boost_add_executable that can be used to ++# describe which features are needed to build the executable. ++# For example, the MULTI_THREADED option requires that the ++# executable be built against multi-threaded libraries and with ++# multi-threaded options. ++macro(boost_add_default_variant) ++ # Update BOOST_DEFAULT_VARIANTS ++ if (BOOST_DEFAULT_VARIANTS) ++ set(BOOST_DEFAULT_VARIANTS_ORIG ${BOOST_DEFAULT_VARIANTS}) ++ set(BOOST_DEFAULT_VARIANTS) ++ foreach(VARIANT ${BOOST_DEFAULT_VARIANTS_ORIG}) ++ foreach(FEATURE ${ARGN}) ++ list(APPEND BOOST_DEFAULT_VARIANTS "${VARIANT}:${FEATURE}") ++ endforeach(FEATURE ${ARGN}) ++ endforeach(VARIANT ${BOOST_DEFAULT_VARIANTS_ORIG}) ++ set(BOOST_DEFAULT_VARIANTS_ORIG) ++ else (BOOST_DEFAULT_VARIANTS) ++ set(BOOST_DEFAULT_VARIANTS ${ARGN}) ++ endif (BOOST_DEFAULT_VARIANTS) ++ ++ # Set Feature flag options used by the boost_library macro and the ++ # BOOST_FEATURES variable ++ set(BOOST_DEFVAR_FEATURES) ++ foreach(FEATURE ${ARGN}) ++ set(BOOST_ADD_ARG_NAMES ++ "${BOOST_ADD_ARG_NAMES};${FEATURE}_COMPILE_FLAGS;${FEATURE}_LINK_FLAGS;${FEATURE}_LINK_LIBS") ++ set(BOOST_ADDLIB_OPTION_NAMES "${BOOST_ADDLIB_OPTION_NAMES};NO_${FEATURE}") ++ set(BOOST_ADDEXE_OPTION_NAMES "${BOOST_ADDEXE_OPTION_NAMES};${FEATURE}") ++ if (BOOST_DEFVAR_FEATURES) ++ set(BOOST_DEFVAR_FEATURES "${BOOST_DEFVAR_FEATURES}:${FEATURE}") ++ else (BOOST_DEFVAR_FEATURES) ++ set(BOOST_DEFVAR_FEATURES "${FEATURE}") ++ endif (BOOST_DEFVAR_FEATURES) ++ endforeach(FEATURE ${ARGN}) ++ list(APPEND BOOST_FEATURES ${BOOST_DEFVAR_FEATURES}) ++endmacro(boost_add_default_variant) ++ ++# Updates the set of "extra" build variants, which may be used to ++# generate extra, library-specific variants of libraries. ++# ++# boost_add_extra_variant(feature-val1 feature-val2 ...) ++# ++# Each extra viarant makes it possible for libraries to define extra ++# variants. For example, writing: ++# ++# boost_add_extra_variant(PYTHON_NODEBUG PYTHON_DEBUG) ++# ++# creates a PYTHON_NODEBUG/PYTHON_DEBUG feature pair as an extra ++# variant, used by the Boost.Python library, which generates separate ++# variants of the Boost.Python library: one variant uses the Python ++# debug libraries, the other does not. ++# ++# The difference between boost_add_default_variant and ++# boost_add_extra_variant is that adding a new default variant ++# introduces additional variants to *all* Boost libraries, unless ++# those variants are explicitly excluded by the library. Adding a new ++# extra variant, on the other hand, allows libraries to specifically ++# request extra variants using that feature. ++# ++# Variables affected: ++# ++# BOOST_FEATURES: ++# See boost_add_default_variant. ++# ++# BOOST_ADD_ARG_NAMES: ++# See boost_add_default_variant. ++# ++# BOOST_ADDLIB_OPTION_NAMES: ++# See boost_add_default_variant. ++# ++# BOOST_ADDEXE_OPTION_NAMES: ++# See boost_add_default_variant. ++macro(boost_add_extra_variant) ++ set(BOOST_EXTVAR_FEATURES) ++ foreach(FEATURE ${ARGN}) ++ set(BOOST_ADD_ARG_NAMES ++ "${BOOST_ADD_ARG_NAMES};${FEATURE}_COMPILE_FLAGS;${FEATURE}_LINK_FLAGS;${FEATURE}_LINK_LIBS") ++ set(BOOST_ADDLIB_OPTION_NAMES "${BOOST_ADDLIB_OPTION_NAMES};NO_${FEATURE}") ++ set(BOOST_ADDEXE_OPTION_NAMES "${BOOST_ADDEXE_OPTION_NAMES};${FEATURE}") ++ if (BOOST_EXTVAR_FEATURES) ++ set(BOOST_EXTVAR_FEATURES "${BOOST_EXTVAR_FEATURES}:${FEATURE}") ++ else (BOOST_EXTVAR_FEATURES) ++ set(BOOST_EXTVAR_FEATURES "${FEATURE}") ++ endif (BOOST_EXTVAR_FEATURES) ++ endforeach(FEATURE ${ARGN}) ++ list(APPEND BOOST_FEATURES ${BOOST_EXTVAR_FEATURES}) ++endmacro(boost_add_extra_variant) ++ ++# Compute the variant that will be used to build this executable or ++# module, taking into account both the requested features passed to ++# boost_add_executable or boost_add_library and what options the user ++# has set. ++macro(boost_select_variant NAME PREFIX) ++ set(${PREFIX}_DEBUG_AND_RELEASE FALSE) ++ set(SELECT_VARIANT_OKAY TRUE) ++ set(SELECT_VARIANT_FAILURE_REASONS) ++ set(${PREFIX}_VARIANT) ++ ++ foreach(FEATURESET_STR ${BOOST_FEATURES}) ++ trace(FEATURESET_STR) ++ ++ string(REPLACE ":" ";" FEATURESET ${FEATURESET_STR}) ++ separate_arguments(FEATURESET) ++ set(${PREFIX}_REQUESTED_FROM_SET FALSE) ++ foreach (FEATURE ${FEATURESET}) ++ trace(FEATURE) ++ ++ if (${PREFIX}_${FEATURE} AND ENABLE_${FEATURE}) ++ trace(${PREFIX}_${FEATURE}) ++ set(${PREFIX}_REQUESTED_FROM_SET TRUE) ++ list(APPEND ${PREFIX}_VARIANT ${FEATURE}) ++ endif() ++ ++ # if ((NOT userpref_selected) AND ENABLE_${FEATURE}) ++ # # message("YES ${PREFIX}_${FEATURE}") ++ # # Make this feature part of the variant ++ # list(APPEND ${PREFIX}_VARIANT ${FEATURE}) ++ # set(${PREFIX}_REQUESTED_FROM_SET TRUE) ++ # ++ # # The caller has requested this particular feature be used ++ # # when building the executable or module. If we can't satisfy ++ # # that request (because the user has turned off the build ++ # # variants with that feature), then we won't build this ++ # # executable or module. ++ # if (NOT ENABLE_${FEATURE}) ++ # message("NOT ENABLE_${FEATURE}") ++ # set(SELECT_VARIANT_OKAY FALSE) ++ # list(APPEND SELECT_VARIANT_FAILURE_REASONS ++ # "ENABLE_${FEATURE} iz FALSE") ++ # else() ++ # set(unselected FALSE) ++ # endif() ++ # endif() ++ endforeach() ++ ++ if (NOT ${PREFIX}_REQUESTED_FROM_SET) ++ # The caller did not specify which feature value to use from ++ # this set, so find the first feature value that actually works. ++ set(${PREFIX}_FOUND_FEATURE FALSE) ++ ++ trace(${PREFIX}_FOUND_FEATURE) ++ # If this feature set decides between Release and Debug, we ++ # either query CMAKE_BUILD_TYPE to determine which to use (for ++ # makefile targets) or handle both variants separately (for IDE ++ # targets). We only build both variants separately for executable targets. ++ if (FEATURESET_STR STREQUAL "RELEASE:DEBUG") ++ trace(CMAKE_CONFIGURATION_TYPES) ++ if (CMAKE_CONFIGURATION_TYPES) ++ # IDE target: can we build both debug and release? ++ if (ENABLE_DEBUG AND ENABLE_RELEASE) ++ if (${PREFIX} STREQUAL "THIS_EXE") ++ # Remember that we're capable of building both configurations ++ set(${PREFIX}_DEBUG_AND_RELEASE TRUE) ++ ++ # Don't add RELEASE or DEBUG to the variant (yet) ++ set(${PREFIX}_FOUND_FEATURE TRUE) ++ endif () ++ endif () ++ else () ++ # Makefile target: CMAKE_BUILD_TYPE tells us which variant to build ++ trace(CMAKE_BUILD_TYPE) ++ if (CMAKE_BUILD_TYPE STREQUAL "Release" AND ENABLE_RELEASE) ++ # Okay, build the release variant ++ list(APPEND ${PREFIX}_VARIANT RELEASE) ++ set(${PREFIX}_FOUND_FEATURE TRUE) ++ elseif (CMAKE_BUILD_TYPE STREQUAL "Debug" AND ENABLE_DEBUG) ++ # Okay, build the debug variant ++ list(APPEND ${PREFIX}_VARIANT DEBUG) ++ set(${PREFIX}_FOUND_FEATURE TRUE) ++ endif () ++ endif () ++ endif () ++ ++ # Search through all of the features in the set to find one that works ++ foreach (FEATURE ${FEATURESET}) ++ # We only care about the first feature value we find... ++ if (NOT ${PREFIX}_FOUND_FEATURE) ++ # Are we allowed to build this feature? ++ if (ENABLE_${FEATURE}) ++ # Found it: we're done ++ list(APPEND ${PREFIX}_VARIANT ${FEATURE}) ++ set(${PREFIX}_FOUND_FEATURE TRUE) ++ endif (ENABLE_${FEATURE}) ++ endif (NOT ${PREFIX}_FOUND_FEATURE) ++ endforeach (FEATURE ${FEATURESET}) ++ ++ if (NOT ${PREFIX}_FOUND_FEATURE) ++ # All of the features in this set were turned off. ++ # Just don't build anything. ++ set(SELECT_VARIANT_OKAY FALSE) ++ # message("NOT ${PREFIX}_FOUND_FEATURE") ++ endif (NOT ${PREFIX}_FOUND_FEATURE) ++ endif (NOT ${PREFIX}_REQUESTED_FROM_SET) ++ endforeach(FEATURESET_STR ${BOOST_FEATURES}) ++ ++ # Propagate flags from each of the features ++ if (SELECT_VARIANT_OKAY) ++ foreach (FEATURE ${${PREFIX}_VARIANT}) ++ # Add all of the flags for this feature ++ set(${PREFIX}_COMPILE_FLAGS ++ "${${PREFIX}_COMPILE_FLAGS} ${${PREFIX}_${FEATURE}_COMPILE_FLAGS} ${${FEATURE}_COMPILE_FLAGS}") ++ set(${PREFIX}_LINK_FLAGS ++ "${${PREFIX}_LINK_FLAGS} ${${PREFIX}_${FEATURE}_LINK_FLAGS} ${${FEATURE}_LINK_FLAGS}") ++ if (${PREFIX} STREQUAL "THIS_EXE") ++ set(${PREFIX}_LINK_FLAGS ++ "${${PREFIX}_LINK_FLAGS} ${${FEATURE}_EXE_LINK_FLAGS}") ++ endif() ++ set(${PREFIX}_LINK_LIBS ++ ${${PREFIX}_LINK_LIBS} ${${PREFIX}_${FEATURE}_LINK_LIBS} ${${FEATURE}_LINK_LIBS}) ++ endforeach (FEATURE ${${PREFIX}_VARIANT}) ++ ++ # Handle feature interactions ++ boost_feature_interactions("${PREFIX}" ${${PREFIX}_VARIANT}) ++ else () ++ set(${PREFIX}_VARIANT) ++ endif () ++endmacro(boost_select_variant) ++ ++# Creates a new Boost library target that generates a compiled library ++# (.a, .lib, .dll, .so, etc) from source files. This routine will ++# actually build several different variants of the same library, with ++# different compilation options, as determined by the set of "default" ++# library variants. ++# ++# boost_add_library(libname ++# source1 source2 ... ++# [COMPILE_FLAGS compileflags] ++# [feature_COMPILE_FLAGS compileflags] ++# [LINK_FLAGS linkflags] ++# [feature_LINK_FLAGS linkflags] ++# [LINK_LIBS linklibs] ++# [feature_LINK_LIBS linklibs] ++# [DEPENDS libdepend1 libdepend2 ...] ++# [MODULE] ++# [NO_feature] ++# [EXTRA_VARIANTS variant1 variant2 ...] ++# [FORCE_VARIANTS variant1]) ++# ++# where libname is the name of Boost library binary (e.g., ++# "boost_regex") and source1, source2, etc. are the source files used ++# to build the library, e.g., cregex.cpp. ++# ++# This macro has a variety of options that affect its behavior. In ++# several cases, we use the placeholder "feature" in the option name ++# to indicate that there are actually several different kinds of ++# options, each referring to a different build feature, e.g., shared ++# libraries, multi-threaded, debug build, etc. For a complete listing ++# of these features, please refer to the CMakeLists.txt file in the ++# root of the Boost distribution, which defines the set of features ++# that will be used to build Boost libraries by default. ++# ++# The options that affect this macro's behavior are: ++# ++# COMPILE_FLAGS: Provides additional compilation flags that will be ++# used when building all variants of the library. For example, one ++# might want to add "-DBOOST_SIGNALS_NO_LIB=1" through this option ++# (which turns off auto-linking for the Signals library while ++# building it). ++# ++# feature_COMPILE_FLAGS: Provides additional compilation flags that ++# will be used only when building variants of the library that ++# include the given feature. For example, ++# MULTI_THREADED_COMPILE_FLAGS are additional flags that will be ++# used when building a multi-threaded variant, while ++# SHARED_COMPILE_FLAGS will be used when building a shared library ++# (as opposed to a static library). ++# ++# LINK_FLAGS: Provides additional flags that will be passed to the ++# linker when linking each variant of the library. This option ++# should not be used to link in additional libraries; see LINK_LIBS ++# and DEPENDS. ++# ++# feature_LINK_FLAGS: Provides additional flags that will be passed ++# to the linker when building variants of the library that contain a ++# specific feature, e.g., MULTI_THREADED_LINK_FLAGS. This option ++# should not be used to link in additional libraries; see ++# feature_LINK_LIBS. ++# ++# LINK_LIBS: Provides additional libraries against which each of the ++# library variants will be linked. For example, one might provide ++# "expat" as options to LINK_LIBS, to state that each of the library ++# variants will link against the expat library binary. Use LINK_LIBS ++# for libraries external to Boost; for Boost libraries, use DEPENDS. ++# ++# feature_LINK_LIBS: Provides additional libraries for specific ++# variants of the library to link against. For example, ++# MULTI_THREADED_LINK_LIBS provides extra libraries to link into ++# multi-threaded variants of the library. ++# ++# DEPENDS: States that this Boost library depends on and links ++# against another Boost library. The arguments to DEPENDS should be ++# the unversioned name of the Boost library, such as ++# "boost_filesystem". Like LINK_LIBS, this option states that all ++# variants of the library being built will link against the stated ++# libraries. Unlike LINK_LIBS, however, DEPENDS takes particular ++# library variants into account, always linking the variant of one ++# Boost library against the same variant of the other Boost ++# library. For example, if the boost_mpi_python library DEPENDS on ++# boost_python, multi-threaded variants of boost_mpi_python will ++# link against multi-threaded variants of boost_python. ++# ++# MODULE: This option states that, when building a shared library, ++# the shared library should be built as a module rather than a ++# normal shared library. Modules have special meaning an behavior on ++# some platforms, such as Mac OS X. ++# ++# NO_feature: States that library variants containing a particular ++# feature should not be built. For example, passing ++# NO_SINGLE_THREADED suppresses generation of single-threaded ++# variants of this library. ++# ++# EXTRA_VARIANTS: Specifies that extra variants of this library ++# should be built, based on the features listed. Each "variant" is a ++# colon-separated list of features. For example, passing ++# EXTRA_VARIANTS "PYTHON_NODEBUG:PYTHON_DEBUG" ++# will result in the creation of an extra set of library variants, ++# some with the PYTHON_NODEBUG feature and some with the ++# PYTHON_DEBUG feature. ++# ++# FORCE_VARIANTS: This will force the build system to ALWAYS build this ++# variant of the library not matter what variants are set. ++# ++# Example: ++# boost_add_library( ++# boost_thread ++# barrier.cpp condition.cpp exceptions.cpp mutex.cpp once.cpp ++# recursive_mutex.cpp thread.cpp tss_hooks.cpp tss_dll.cpp tss_pe.cpp ++# tss.cpp xtime.cpp ++# SHARED_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_DLL=1" ++# STATIC_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB=1" ++# NO_SINGLE_THREADED ++# ) ++macro(boost_add_library SHORT_LIBNAME) ++ set(LIBNAME "boost_${SHORT_LIBNAME}") ++ parse_arguments(THIS_LIB ++ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;EXTRA_VARIANTS;FORCE_VARIANTS;${BOOST_ADD_ARG_NAMES}" ++ "MODULE;NO_INSTALL;${BOOST_ADDLIB_OPTION_NAMES}" ++ ${ARGN} ++ ) ++ ++ set(THIS_LIB_SOURCES ${THIS_LIB_DEFAULT_ARGS}) ++ ++ # ++ # cmake BoostConfig.cmake generation needs to know which ++ # libraries are available ++ # ++ set(BOOST_ALL_COMPONENTS ${SHORT_LIBNAME} ${BOOST_ALL_COMPONENTS} ++ PARENT_SCOPE) ++ ++ # A top-level target that refers to all of the variants of the ++ # library, collectively. ++ add_custom_target(${LIBNAME}) ++ ++ if (THIS_LIB_EXTRA_VARIANTS) ++ # Build the set of variants that we will generate for this library ++ set(THIS_LIB_VARIANTS) ++ foreach(VARIANT ${BOOST_DEFAULT_VARIANTS}) ++ foreach(EXTRA_VARIANT ${THIS_LIB_EXTRA_VARIANTS}) ++ string(REPLACE ":" ";" FEATURES "${EXTRA_VARIANT}") ++ separate_arguments(FEATURES) ++ foreach(FEATURE ${FEATURES}) ++ list(APPEND THIS_LIB_VARIANTS "${VARIANT}:${FEATURE}") ++ endforeach(FEATURE ${FEATURES}) ++ endforeach(EXTRA_VARIANT ${THIS_LIB_EXTRA_VARIANTS}) ++ endforeach(VARIANT ${BOOST_DEFAULT_VARIANTS}) ++ else (THIS_LIB_EXTRA_VARIANTS) ++ set(THIS_LIB_VARIANTS ${BOOST_DEFAULT_VARIANTS}) ++ endif (THIS_LIB_EXTRA_VARIANTS) ++ ++ if (THIS_LIB_FORCE_VARIANTS) ++ # string(TOUPPER "${LIBNAME}_FORCE_VARIANTS" force_variants) ++ # set(${force_variants} ${THIS_LIB_FORCE_VARIANTS} CACHE INTERNAL "") ++ set(ENABLE_${THIS_LIB_FORCE_VARIANTS}_PREV ${ENABLE_${THIS_LIB_FORCE_VARIANTS}} ) ++ set(ENABLE_${THIS_LIB_FORCE_VARIANTS} TRUE) ++ endif (THIS_LIB_FORCE_VARIANTS) ++ ++ # Build each of the library variants ++ foreach(VARIANT_STR ${THIS_LIB_VARIANTS}) ++ string(REPLACE ":" ";" VARIANT ${VARIANT_STR}) ++ separate_arguments(VARIANT) ++ # message("VARIANT=${VARIANT}") ++ boost_library_variant(${LIBNAME} ${VARIANT}) ++ endforeach(VARIANT_STR ${THIS_LIB_VARIANTS}) ++ ++ if (THIS_LIB_FORCE_VARIANTS) ++ set(ENABLE_${THIS_LIB_FORCE_VARIANTS} ${ENABLE_${THIS_LIB_FORCE_VARIANTS}_PREV} ) ++ # message(STATUS "* ^^ ENABLE_${THIS_LIB_FORCE_VARIANTS} ${ENABLE_${THIS_LIB_FORCE_VARIANTS}}") ++ endif (THIS_LIB_FORCE_VARIANTS) ++endmacro(boost_add_library) ++ ++# Creates a new executable from source files. ++# ++# boost_add_executable(exename ++# source1 source2 ... ++# [COMPILE_FLAGS compileflags] ++# [feature_COMPILE_FLAGS compileflags] ++# [LINK_FLAGS linkflags] ++# [feature_LINK_FLAGS linkflags] ++# [LINK_LIBS linklibs] ++# [feature_LINK_LIBS linklibs] ++# [DEPENDS libdepend1 libdepend2 ...] ++# [feature] ++# [NO_INSTALL]) ++# ++# where exename is the name of the executable (e.g., "wave"). source1, ++# source2, etc. are the source files used to build the executable, e.g., ++# cpp.cpp. If no source files are provided, "exename.cpp" will be ++# used. ++# ++# This macro has a variety of options that affect its behavior. In ++# several cases, we use the placeholder "feature" in the option name ++# to indicate that there are actually several different kinds of ++# options, each referring to a different build feature, e.g., shared ++# libraries, multi-threaded, debug build, etc. For a complete listing ++# of these features, please refer to the CMakeLists.txt file in the ++# root of the Boost distribution, which defines the set of features ++# that will be used to build Boost libraries by default. ++# ++# The options that affect this macro's behavior are: ++# ++# COMPILE_FLAGS: Provides additional compilation flags that will be ++# used when building the executable. ++# ++# feature_COMPILE_FLAGS: Provides additional compilation flags that ++# will be used only when building the executable with the given ++# feature (e.g., SHARED_COMPILE_FLAGS when we're linking against ++# shared libraries). Note that the set of features used to build the ++# executable depends both on the arguments given to ++# boost_add_executable (see the "feature" argument description, ++# below) and on the user's choice of variants to build. ++# ++# LINK_FLAGS: Provides additional flags that will be passed to the ++# linker when linking the executable. This option should not be used ++# to link in additional libraries; see LINK_LIBS and DEPENDS. ++# ++# feature_LINK_FLAGS: Provides additional flags that will be passed ++# to the linker when linking the executable with the given feature ++# (e.g., MULTI_THREADED_LINK_FLAGS when we're linking a ++# multi-threaded executable). ++# ++# LINK_LIBS: Provides additional libraries against which the ++# executable will be linked. For example, one might provide "expat" ++# as options to LINK_LIBS, to state that the executable will link ++# against the expat library binary. Use LINK_LIBS for libraries ++# external to Boost; for Boost libraries, use DEPENDS. ++# ++# feature_LINK_LIBS: Provides additional libraries to link against ++# when linking an executable built with the given feature. ++# ++# DEPENDS: States that this executable depends on and links against ++# a Boostlibrary. The arguments to DEPENDS should be the unversioned ++# name of the Boost library, such as "boost_filesystem". Like ++# LINK_LIBS, this option states that the executable will link ++# against the stated libraries. Unlike LINK_LIBS, however, DEPENDS ++# takes particular library variants into account, always linking to ++# the appropriate variant of a Boost library. For example, if the ++# MULTI_THREADED feature was requested in the call to ++# boost_add_executable, DEPENDS will ensure that we only link ++# against multi-threaded libraries. ++# ++# feature: States that the executable should always be built using a ++# given feature, e.g., SHARED linking (against its libraries) or ++# MULTI_THREADED (for multi-threaded builds). If that feature has ++# been turned off by the user, the executable will not build. ++# ++# NO_INSTALL: Don't install this executable with the rest of Boost. ++# ++# OUTPUT_NAME: If you want the executable to be generated somewhere ++# other than the binary directory, pass the path (including ++# directory and file name) via the OUTPUT_NAME parameter. ++# ++# Example: ++# boost_add_executable(wave cpp.cpp ++# DEPENDS boost_wave boost_program_options boost_filesystem ++# boost_serialization ++# ) ++macro(boost_add_executable EXENAME) ++ # Note: ARGS is here to support the use of boost_add_executable in ++ # the testing code. ++ parse_arguments(THIS_EXE ++ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;OUTPUT_NAME;ARGS;TARGET_PREFIX;${BOOST_ADD_ARG_NAMES}" ++ "NO_INSTALL;${BOOST_ADDEXE_OPTION_NAMES}" ++ ${ARGN} ++ ) ++ ++ # Determine the list of sources ++ if (THIS_EXE_DEFAULT_ARGS) ++ set(THIS_EXE_SOURCES ${THIS_EXE_DEFAULT_ARGS}) ++ else (THIS_EXE_DEFAULT_ARGS) ++ set(THIS_EXE_SOURCES ${EXENAME}.cpp) ++ endif (THIS_EXE_DEFAULT_ARGS) ++ ++ # Whether we can build both debug and release versions of this ++ # executable within an IDE (based on the selected configuration ++ # type). ++ set(THIS_EXE_DEBUG_AND_RELEASE FALSE) ++ ++ # Compute the variant that will be used to build this executable, ++ # taking into account both the requested features passed to ++ # boost_add_executable and what options the user has set. ++ boost_select_variant(${EXENAME} THIS_EXE) ++ ++ # message("THIS_EXE_VARIANT=${THIS_EXE_VARIANT}") ++ # Possibly hyphenate exe's name ++ if (THIS_PROJECT_IS_TOOL) ++ set(THIS_EXE_NAME ${THIS_EXE_TARGET_PREFIX}${EXENAME}) ++ else() ++ set(THIS_EXE_NAME ${BOOST_PROJECT_NAME}-${THIS_EXE_TARGET_PREFIX}${EXENAME}) ++ endif() ++ ++ # Compute the name of the variant targets that we'll be linking ++ # against. We'll use this to link against the appropriate ++ # dependencies. For IDE targets where we can build both debug and ++ # release configurations, create DEBUG_ and RELEASE_ versions of ++ # the macros. ++ if (THIS_EXE_DEBUG_AND_RELEASE) ++ boost_library_variant_target_name(RELEASE ${THIS_EXE_VARIANT}) ++ set(RELEASE_VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}") ++ boost_library_variant_target_name(DEBUG ${THIS_EXE_VARIANT}) ++ set(DEBUG_VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}") ++ else (THIS_EXE_DEBUG_AND_RELEASE) ++ boost_library_variant_target_name(${THIS_EXE_VARIANT}) ++ endif (THIS_EXE_DEBUG_AND_RELEASE) ++ ++ # Compute the actual set of library dependencies, based on the ++ # variant name we computed above. The RELEASE and DEBUG versions ++ # only apply when THIS_EXE_DEBUG_AND_RELEASE. ++ set(THIS_EXE_ACTUAL_DEPENDS) ++ set(THIS_EXE_RELEASE_ACTUAL_DEPENDS) ++ set(THIS_EXE_DEBUG_ACTUAL_DEPENDS) ++ set(DEPENDENCY_FAILURES "") ++ foreach(LIB ${THIS_EXE_DEPENDS}) ++ if (LIB MATCHES ".*-.*") ++ # The user tried to state exactly which variant to use. Just ++ # propagate the dependency and hope that s/he was ++ # right. Eventually, this should at least warn, because it is ++ # not the "proper" way to do things ++ list(APPEND THIS_EXE_ACTUAL_DEPENDS ${LIB}) ++ list(APPEND THIS_EXE_RELEASE_ACTUAL_DEPENDS ${LIB}) ++ list(APPEND THIS_EXE_DEBUG_ACTUAL_DEPENDS ${LIB}) ++ dependency_check(${LIB}) ++ else () ++ # The user has given the name of just the library target, ++ # e.g., "boost_filesystem". We add on the appropriate variant ++ # name(s). ++ list(APPEND THIS_EXE_ACTUAL_DEPENDS "${LIB}${VARIANT_TARGET_NAME}") ++ list(APPEND THIS_EXE_RELEASE_ACTUAL_DEPENDS "${LIB}${RELEASE_VARIANT_TARGET_NAME}") ++ list(APPEND THIS_EXE_DEBUG_ACTUAL_DEPENDS "${LIB}${DEBUG_VARIANT_TARGET_NAME}") ++ if(THIS_EXE_RELEASE_AND_DEBUG) ++ dependency_check("${LIB}${RELEASE_VARIANT_TARGET_NAME}") ++ dependency_check("${LIB}${DEBUG_VARIANT_TARGET_NAME}") ++ else() ++ dependency_check("${LIB}${VARIANT_TARGET_NAME}") ++ endif() ++ endif () ++ endforeach() ++ ++ set(THIS_EXE_OKAY TRUE) ++ ++ if(DEPENDENCY_FAILURES) ++ set(THIS_EXE_OKAY FALSE) ++ # separate_arguments(DEPENDENCY_FAILURES) ++ colormsg(HIRED " ${THIS_EXE_NAME}" RED "(executable) disabled due to dependency failures:") ++ colormsg(" ${DEPENDENCY_FAILURES}") ++ endif() ++ ++ trace(THIS_EXE_VARIANT) ++ trace(THIS_EXE_OUTPUT_NAME) ++ if (THIS_EXE_VARIANT AND (NOT DEPENDENCY_FAILURES)) ++ # It's okay to build this executable ++ ++ add_executable(${THIS_EXE_NAME} ${THIS_EXE_SOURCES}) ++ ++ # Set the various compilation and linking flags ++ set_target_properties(${THIS_EXE_NAME} ++ PROPERTIES ++ COMPILE_FLAGS "${THIS_EXE_COMPILE_FLAGS}" ++ LINK_FLAGS "${THIS_EXE_LINK_FLAGS}" ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ ++ # For IDE generators where we can build both debug and release ++ # configurations, pass the configurations along separately. ++ if (THIS_EXE_DEBUG_AND_RELEASE) ++ set_target_properties(${THIS_EXE_NAME} ++ PROPERTIES ++ COMPILE_FLAGS_DEBUG "${DEBUG_COMPILE_FLAGS} ${THIS_EXE_COMPILE_FLAGS}" ++ COMPILE_FLAGS_RELEASE "${RELEASE_COMPILE_FLAGS} ${THIS_EXE_COMPILE_FLAGS}" ++ LINK_FLAGS_DEBUG "${DEBUG_LINK_FLAGS} ${DEBUG_EXE_LINK_FLAGS} ${THIS_EXE_LINK_FLAGS}" ++ LINK_FLAGS_RELEASE "${RELEASE_LINK_FLAGS} ${RELEASE_EXE_LINK_FLAGS} ${THIS_EXE_LINK_FLAGS}" ++ ) ++ endif (THIS_EXE_DEBUG_AND_RELEASE) ++ ++ # If the user gave an output name, use it. ++ if(THIS_EXE_OUTPUT_NAME) ++ set_target_properties(${THIS_EXE_NAME} ++ PROPERTIES ++ OUTPUT_NAME ${THIS_EXE_OUTPUT_NAME} ++ ) ++ endif() ++ ++ # Link against the various libraries ++ if (THIS_EXE_DEBUG_AND_RELEASE) ++ # Configuration-agnostic libraries ++ target_link_libraries(${THIS_EXE_NAME} ${THIS_EXE_LINK_LIBS}) ++ ++ foreach(LIB ${THIS_EXE_RELEASE_ACTUAL_DEPENDS} ${THIS_EXE_RELEASE_LINK_LIBS}) ++ target_link_libraries(${THIS_EXE_NAME} optimized ${LIB}) ++ endforeach(LIB ${THIS_EXE_RELEASE_ACTUAL_DEPENDS} ${THIS_EXE_RELEASE_LINK_LIBS}) ++ ++ foreach(LIB ${THIS_EXE_DEBUG_ACTUAL_DEPENDS} ${THIS_EXE_DEBUG_LINK_LIBS}) ++ target_link_libraries(${THIS_EXE_NAME} debug ${LIB}) ++ endforeach(LIB ${THIS_EXE_DEBUG_ACTUAL_DEPENDS} ${THIS_EXE_DEBUG_LINK_LIBS}) ++ ++ else (THIS_EXE_DEBUG_AND_RELEASE) ++ target_link_libraries(${THIS_EXE_NAME} ++ ${THIS_EXE_ACTUAL_DEPENDS} ++ ${THIS_EXE_LINK_LIBS}) ++ endif (THIS_EXE_DEBUG_AND_RELEASE) ++ ++ endif () ++endmacro(boost_add_executable) ++ ++ ++# Like boost_add_library, but builds a single library variant ++# FIXME: I'm not sure if I like this or not. Document it if it survives. ++macro(boost_add_single_library LIBNAME) ++ parse_arguments(THIS_LIB ++ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;${BOOST_ADD_ARG_NAMES}" ++ "NO_INSTALL;MODULE;${BOOST_ADDEXE_OPTION_NAMES}" ++ ${ARGN} ++ ) ++ set(THIS_LIB_SOURCES ${THIS_LIB_DEFAULT_ARGS}) ++ ++ boost_select_variant(${LIBNAME} THIS_LIB) ++ trace(THIS_LIB_VARIANT) ++ if (THIS_LIB_VARIANT) ++ add_custom_target(${LIBNAME}) ++ separate_arguments(THIS_LIB_VARIANT) ++ boost_library_variant(${LIBNAME} ${THIS_LIB_VARIANT}) ++ endif () ++endmacro(boost_add_single_library) ++ ++ ++# ++# Macro for building boost.python extensions ++# ++macro(boost_python_extension MODULE_NAME) ++ parse_arguments(BPL_EXT ++ "" ++ "" ++ ${ARGN}) ++ ++ if (WIN32) ++ set(extlibtype SHARED) ++ else() ++ set(extlibtype MODULE) ++ endif() ++ ++ boost_add_single_library( ++ ${MODULE_NAME} ++ ${BPL_EXT_DEFAULT_ARGS} ++ ${extlibtype} ++ LINK_LIBS ${PYTHON_LIBRARIES} ++ DEPENDS boost_python ++ SHARED ++ MULTI_THREADED ++ ) ++ ++ if(WIN32) ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ OUTPUT_NAME "${MODULE_NAME}" ++ PREFIX "" ++ SUFFIX .pyd ++ IMPORT_SUFFIX .pyd ++ ) ++ else() ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ OUTPUT_NAME "${MODULE_NAME}" ++ PREFIX "" ++ ) ++ endif() ++ if (NOT THIS_VARIANT_OKAY) ++ colormsg(HIRED " ${MODULE_NAME}" RED "(python extension) disabled because:") ++ foreach(msg ${SELECT_VARIANT_FAILURE_REASONS}) ++ colormsg(YELLOW " ${msg}") ++ endforeach() ++ endif() ++ ++endmacro() +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/BoostDocs.cmake boost-1.44.0-cmake/tools/build/CMake/BoostDocs.cmake +--- boost_1_44_0/tools/build/CMake/BoostDocs.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/BoostDocs.cmake 2010-08-22 00:04:47.003855502 +0200 +@@ -0,0 +1,530 @@ ++########################################################################## ++# Boost Documentation Generation # ++########################################################################## ++# Copyright (C) 2008 Douglas Gregor # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# Important developer macros in this file: # ++# # ++########################################################################## ++ ++# Transforms the source XML file by applying the given XSL stylesheet. ++# ++# xsl_transform(output input [input2 input3 ...] ++# STYLESHEET stylesheet ++# [CATALOG catalog] ++# [DIRECTORY mainfile] ++# [PARAMETERS param1=value1 param2=value2 ...] ++# [[MAKE_ALL_TARGET | MAKE_TARGET] target] ++# [COMMENT comment]) ++# ++# This macro builds a custom command that transforms an XML file ++# (input) via the given XSL stylesheet. The output will either be a ++# single file (the default) or a directory (if the DIRECTION argument ++# is specified). The STYLESBEET stylesheet must be a valid XSL ++# stylesheet. Any extra input files will be used as additional ++# dependencies for the target. For example, these extra input files ++# might refer to other XML files that are included by the input file ++# through XInclude. ++# ++# When the XSL transform output is going to a directory, the mainfile ++# argument provides the name of a file that will be generated within ++# the output directory. This file will be used for dependency tracking. ++# ++# XML catalogs can be used to remap parts of URIs within the ++# stylesheet to other (typically local) entities. To provide an XML ++# catalog file, specify the name of the XML catalog file via the ++# CATALOG argument. It will be provided to the XSL transform. ++# ++# The PARAMETERS argument is followed by param=value pairs that set ++# additional parameters to the XSL stylesheet. The parameter names ++# that can be used correspond to the elements within the ++# stylesheet. ++# ++# To associate a target name with the result of the XSL ++# transformation, use the MAKE_TARGET or MAKE_ALL_TARGET option and ++# provide the name of the target. The MAKE_ALL_TARGET option only ++# differs from MAKE_TARGET in that MAKE_ALL_TARGET will make the ++# resulting target a part of the default build. ++# ++# If a COMMENT argument is provided, it will be used as the comment ++# CMake provides when running this XSL transformation. Otherwise, the ++# comment will be "Generating "output" via XSL transformation...". ++macro(xsl_transform OUTPUT INPUT) ++ parse_arguments(THIS_XSL ++ "STYLESHEET;CATALOG;MAKE_ALL_TARGET;MAKE_TARGET;PARAMETERS;DIRECTORY;COMMENT" ++ "" ++ ${ARGN} ++ ) ++ ++ # TODO: Is this the best way to handle catalogs? The alternative is ++ # that we could provide explicit remappings to the xsl_transform ++ # macro, and it could generate a temporary XML catalog file. ++ if (THIS_XSL_CATALOG) ++ set(THIS_XSL_CATALOG "XML_CATALOG_FILES=${THIS_XSL_CATALOG}") ++ endif () ++ ++ # Translate XSL parameters into a form that xsltproc can use. ++ set(THIS_XSL_EXTRA_FLAGS) ++ foreach(PARAM ${THIS_XSL_PARAMETERS}) ++ string(REGEX REPLACE "([^=]*)=([^;]*)" "\\1;\\2" ++ XSL_PARAM_LIST ${PARAM}) ++ list(GET XSL_PARAM_LIST 0 XSL_PARAM_NAME) ++ list(GET XSL_PARAM_LIST 1 XSL_PARAM_VALUE) ++ list(APPEND THIS_XSL_EXTRA_FLAGS ++ --stringparam ${XSL_PARAM_NAME} ${XSL_PARAM_VALUE}) ++ endforeach(PARAM) ++ ++ # If the user didn't provide a comment for this transformation, ++ # create a default one. ++ if(NOT THIS_XSL_COMMENT) ++ set(THIS_XSL_COMMENT "Generating ${OUTPUT} via XSL transformation...") ++ endif() ++ ++ # Figure out the actual output file that we tell CMake about ++ # (THIS_XSL_OUTPUT_FILE) and the output file or directory that we ++ # tell xsltproc about (THIS_XSL_OUTPUT). ++ if (THIS_XSL_DIRECTORY) ++ set(THIS_XSL_OUTPUT_FILE ${OUTPUT}/${THIS_XSL_DIRECTORY}) ++ set(THIS_XSL_OUTPUT ${OUTPUT}/) ++ else() ++ set(THIS_XSL_OUTPUT_FILE ${OUTPUT}) ++ set(THIS_XSL_OUTPUT ${OUTPUT}) ++ endif() ++ ++ if(NOT THIS_XSL_STYLESHEET) ++ message(SEND_ERROR ++ "xsl_transform macro invoked without a STYLESHEET argument") ++ else() ++ # Run the XSLT processor to do the XML transformation. ++ add_custom_command(OUTPUT ${THIS_XSL_OUTPUT_FILE} ++ COMMAND ${THIS_XSL_CATALOG} ${XSLTPROC_EXECUTABLE} ${XSLTPROC_FLAGS} ++ ${THIS_XSL_EXTRA_FLAGS} -o ${THIS_XSL_OUTPUT} ++ --path ${CMAKE_CURRENT_BINARY_DIR} ++ ${THIS_XSL_STYLESHEET} ${INPUT} ++ COMMENT ${THIS_XSL_COMMENT} ++ DEPENDS ${INPUT} ${THIS_XSL_DEFAULT_ARGS}) ++ set_source_files_properties(${THIS_XSL_OUTPUT_FILE} ++ PROPERTIES GENERATED TRUE) ++ ++ # Create a custom target to refer to the result of this ++ # transformation. ++ if (THIS_XSL_MAKE_ALL_TARGET) ++ add_custom_target(${THIS_XSL_MAKE_ALL_TARGET} ALL ++ DEPENDS ${THIS_XSL_OUTPUT_FILE}) ++ elseif(THIS_XSL_MAKE_TARGET) ++ add_custom_target(${THIS_XSL_MAKE_TARGET} ++ DEPENDS ${THIS_XSL_OUTPUT_FILE}) ++ set_target_properties(${THIS_XSL_MAKE_TARGET} ++ PROPERTIES ++ EXCLUDE_FROM_ALL ON) ++ endif() ++ endif() ++endmacro(xsl_transform) ++ ++# Use Doxygen to parse header files and produce BoostBook output. ++# ++# doxygen_to_boostbook(output header1 header2 ... ++# [PARAMETERS param1=value1 param2=value2 ... ]) ++# ++# This macro sets up rules to transform a set of C/C++ header files ++# into BoostBook reference documentation. The resulting BoostBook XML ++# file will be named by the "output" parameter, and the set of headers ++# is provided following the output file. The actual parsing of header ++# files is provided by Doxygen, and is transformed into XML through ++# various XSLT transformations. ++# ++# Doxygen has a variety of configuration parameters. One can supply ++# extra Doxygen configuration parameters by providing NAME=VALUE pairs ++# following the PARAMETERS argument. These parameters will be added to ++# the Doxygen configuration file. ++# ++# This macro is intended to be used internally by ++# boost_add_documentation. ++macro(doxygen_to_boostbook OUTPUT) ++ parse_arguments(THIS_DOXY ++ "PARAMETERS" ++ "" ++ ${ARGN}) ++ ++ # Create a Doxygen configuration file template ++ # TODO: We would like to create this file at build time rather ++ # than at configuration time ++ get_filename_component(DOXYFILE_PATH ${OUTPUT} PATH) ++ get_filename_component(DOXYFILE_NAME ${OUTPUT} NAME_WE) ++ set(DOXYFILE ${DOXYFILE_PATH}/${DOXYFILE_NAME}.doxyfile) ++ execute_process( ++ COMMAND ${DOXYGEN_EXECUTABLE} -s -g ${DOXYFILE} ++ OUTPUT_QUIET ERROR_QUIET) ++ ++ # Update the Doxygen configuration file for XML generation ++ file(APPEND ${DOXYFILE} "OUTPUT_DIRECTORY = ${CMAKE_CURRENT_BINARY_DIR}\n") ++ file(APPEND ${DOXYFILE} "GENERATE_LATEX = NO\n") ++ file(APPEND ${DOXYFILE} "GENERATE_HTML = NO\n") ++ file(APPEND ${DOXYFILE} "GENERATE_XML = YES\n") ++ foreach(PARAM ${THIS_DOXY_PARAMETERS}) ++ file(APPEND ${DOXYFILE} "${PARAM}\n") ++ endforeach(PARAM) ++ ++ set(THIS_DOXY_HEADER_PATH ${CMAKE_SOURCE_DIR}/libs/${libname}/include) ++ ++ set(THIS_DOXY_HEADER_LIST "") ++ set(THIS_DOXY_HEADERS) ++ foreach(HDR ${THIS_DOXY_DEFAULT_ARGS}) ++ list(APPEND THIS_DOXY_HEADERS ${THIS_DOXY_HEADER_PATH}/${HDR}) ++ set(THIS_DOXY_HEADER_LIST ++ "${THIS_DOXY_HEADER_LIST} ${THIS_DOXY_HEADER_PATH}/${HDR}") ++ endforeach(HDR) ++ file(APPEND ${DOXYFILE} "INPUT = ${THIS_DOXY_HEADER_LIST}\n") ++ ++ # Generate Doxygen XML ++ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/xml/index.xml ++ COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE} ++ COMMENT "Generating Doxygen XML output for Boost.${BOOST_PROJECT_NAME}..." ++ DEPENDS ${THIS_DOXY_HEADERS}) ++ ++ # Collect Doxygen XML into a single XML file ++ set_source_files_properties( ++ ${CMAKE_CURRENT_BINARY_DIR}/xml/combine.xslt ++ PROPERTIES GENERATED TRUE) ++ xsl_transform( ++ ${CMAKE_CURRENT_BINARY_DIR}/xml/all.xml ++ ${CMAKE_CURRENT_BINARY_DIR}/xml/index.xml ++ STYLESHEET ${CMAKE_CURRENT_BINARY_DIR}/xml/combine.xslt ++ COMMENT "Collecting Doxygen XML output for Boost.${BOOST_PROJECT_NAME}...") ++ ++ # Transform single Doxygen XML file into BoostBook XML ++ xsl_transform(${OUTPUT} ++ ${CMAKE_CURRENT_BINARY_DIR}/xml/all.xml ++ STYLESHEET ${BOOSTBOOK_XSL_DIR}/doxygen/doxygen2boostbook.xsl ++ COMMENT "Transforming Doxygen XML into BoostBook XML for Boost.${BOOST_PROJECT_NAME}...") ++endmacro(doxygen_to_boostbook) ++ ++# Adds documentation for the current library or tool project ++# ++# boost_add_documentation(source1 source2 source3 ... ++# [HEADERS header1 header2 ...] ++# [DOXYGEN_PARAMETERS param1=value1 param2=value2 ...]) ++# ++ ++# This macro describes the documentation for a library or tool, which ++# will be built and installed as part of the normal build ++# process. Documentation can be in a variety of formats, and the input ++# format will determine how that documentation is transformed. The ++# documentation's format is determined by its extension, and the ++# following input formats are supported: ++# ++# QuickBook ++# BoostBook (.XML extension): ++macro(boost_add_documentation SOURCE) ++ parse_arguments(THIS_DOC ++ "HEADERS;DOXYGEN_PARAMETERS" ++ "" ++ ${ARGN}) ++ ++ # If SOURCE is not a full path, it's in the current source ++ # directory. ++ get_filename_component(THIS_DOC_SOURCE_PATH ${SOURCE} PATH) ++ if(THIS_DOC_SOURCE_PATH STREQUAL "") ++ set(THIS_DOC_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}") ++ else() ++ set(THIS_DOC_SOURCE_PATH ${SOURCE}) ++ endif() ++ ++ # If we are parsing C++ headers (with Doxygen) for reference ++ # documentation, do so now and produce the requested BoostBook XML ++ # file. ++ if (THIS_DOC_HEADERS) ++ set(DOC_HEADER_FILES) ++ set(DOC_BOOSTBOOK_FILE) ++ foreach(HEADER ${THIS_DOC_HEADERS}) ++ get_filename_component(HEADER_EXT ${HEADER} EXT) ++ string(TOUPPER ${HEADER_EXT} HEADER_EXT) ++ if (HEADER_EXT STREQUAL ".XML") ++ if (DOC_BOOSTBOOK_FILE) ++ # Generate this BoostBook file from the headers ++ doxygen_to_boostbook( ++ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE} ++ ${DOC_HEADER_FILES} ++ PARAMETERS ${THIS_DOC_DOXYGEN_PARAMETERS}) ++ list(APPEND THIS_DOC_DEFAULT_ARGS ++ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE}) ++ endif() ++ set(DOC_BOOSTBOOK_FILE ${HEADER}) ++ set(DOC_HEADER_FILES) ++ else() ++ if (NOT DOC_BOOSTBOOK_FILE) ++ message(SEND_ERROR ++ "HEADERS argument to boost_add_documentation must start with a BoostBook XML file name for output") ++ endif() ++ list(APPEND DOC_HEADER_FILES ${HEADER}) ++ endif() ++ endforeach() ++ ++ if (DOC_HEADER_FILES) ++ # Generate this BoostBook file from the headers ++ doxygen_to_boostbook( ++ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE} ++ ${DOC_HEADER_FILES} ++ PARAMETERS ${THIS_DOC_DOXYGEN_PARAMETERS}) ++ list(APPEND THIS_DOC_DEFAULT_ARGS ++ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE}) ++ ++ endif() ++ endif (THIS_DOC_HEADERS) ++ ++ # Figure out the source file extension, which will tell us how to ++ # build the documentation. ++ get_filename_component(THIS_DOC_EXT ${SOURCE} EXT) ++ string(TOUPPER ${THIS_DOC_EXT} THIS_DOC_EXT) ++ if (THIS_DOC_EXT STREQUAL ".QBK") ++ if (BUILD_QUICKBOOK) ++ # Transform Quickbook into BoostBook XML ++ get_filename_component(SOURCE_FILENAME ${SOURCE} NAME_WE) ++ set(BOOSTBOOK_FILE ${SOURCE_FILENAME}.xml) ++ add_custom_command(OUTPUT ${BOOSTBOOK_FILE} ++ COMMAND quickbook "--output-file=${BOOSTBOOK_FILE}" ++ ${THIS_DOC_SOURCE_PATH} ++ DEPENDS ${THIS_DOC_SOURCE_PATH} ${THIS_DOC_DEFAULT_ARGS} ++ COMMENT "Generating BoostBook documentation for Boost.${BOOST_PROJECT_NAME}...") ++ ++ # Transform BoostBook into other formats ++ boost_add_documentation(${CMAKE_CURRENT_BINARY_DIR}/${BOOSTBOOK_FILE}) ++ else() ++ message(SEND_ERROR ++ "Quickbook is required to build Boost documentation.\nQuickbook can be built by enabling the BUILD_QUICKBOOK.") ++ endif() ++ elseif (THIS_DOC_EXT STREQUAL ".XML") ++ # Transform BoostBook XML into DocBook XML ++ get_filename_component(SOURCE_FILENAME ${SOURCE} NAME_WE) ++ set(DOCBOOK_FILE ${SOURCE_FILENAME}.docbook) ++ xsl_transform(${DOCBOOK_FILE} ${THIS_DOC_SOURCE_PATH} ++ ${THIS_DOC_DEFAULT_ARGS} ++ STYLESHEET ${BOOSTBOOK_XSL_DIR}/docbook.xsl ++ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml ++ COMMENT "Generating DocBook documentation for Boost.${BOOST_PROJECT_NAME}..." ++ MAKE_TARGET ${BOOST_PROJECT_NAME}-docbook) ++ ++ # Transform DocBook into other formats ++ boost_add_documentation(${CMAKE_CURRENT_BINARY_DIR}/${DOCBOOK_FILE}) ++ elseif(THIS_DOC_EXT STREQUAL ".DOCBOOK") ++ # If requested, build HTML documentation ++ if (BUILD_DOCUMENTATION_HTML) ++ xsl_transform( ++ ${CMAKE_CURRENT_BINARY_DIR}/html ++ ${THIS_DOC_SOURCE_PATH} ++ STYLESHEET ${BOOSTBOOK_XSL_DIR}/html.xsl ++ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml ++ DIRECTORY HTML.manifest ++ PARAMETERS admon.graphics.path=images ++ navig.graphics.path=images ++ boost.image.src=boost.png ++ COMMENT "Generating HTML documentaiton for Boost.${BOOST_PROJECT_NAME}..." ++ MAKE_TARGET ${BOOST_PROJECT_NAME}-html) ++ ++ add_custom_command(TARGET ${BOOST_PROJECT_NAME}-html ++ POST_BUILD ++ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/doc/src/boostbook.css ${CMAKE_CURRENT_BINARY_DIR}/html ++ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/boost.png ${CMAKE_CURRENT_BINARY_DIR}/html ++ ) ++ # Install generated documentation ++ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html ++ DESTINATION share/boost-${BOOST_VERSION} ++ COMPONENT ${ULIBNAME}_DOCS ++ PATTERN "*.manifest" EXCLUDE) ++ endif () ++ ++ # If requested, build Unix man pages ++ if (BUILD_DOCUMENTATION_MAN_PAGES) ++ xsl_transform( ++ ${CMAKE_CURRENT_BINARY_DIR}/man ++ ${THIS_DOC_SOURCE_PATH} ++ STYLESHEET ${BOOSTBOOK_XSL_DIR}/manpages.xsl ++ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml ++ DIRECTORY man.manifest ++ COMMENT "Generating man pages for Boost.${BOOST_PROJECT_NAME}..." ++ MAKE_TARGET ${BOOST_PROJECT_NAME}-man) ++ ++ # Install man pages ++ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man ++ DESTINATION . ++ COMPONENT ${ULIBNAME}_DOCS ++ PATTERN "*.manifest" EXCLUDE) ++ endif () ++ else() ++ message(SEND_ERROR "Unknown documentation source kind ${SOURCE}.") ++ endif() ++endmacro(boost_add_documentation) ++ ++ ++########################################################################## ++# Documentation tools configuration # ++########################################################################## ++ ++# Downloads the DocBook DTD into a place where DOCBOOK_DTD_DIR can ++# find it. ++macro(download_docbook_dtd) ++ if (NOT DOCBOOK_DTD_DIR) ++ set(DOCBOOK_DTD_FILENAME "docbook-xml-${WANT_DOCBOOK_DTD_VERSION}.zip") ++ set(DOCBOOK_DTD_URL ++ "http://www.oasis-open.org/docbook/xml/${WANT_DOCBOOK_DTD_VERSION}/${DOCBOOK_DTD_FILENAME}") ++ message(STATUS "Downloading DocBook DTD from ${DOCBOOK_DTD_URL}...") ++ file(DOWNLOAD ++ "${DOCBOOK_DTD_URL}" ++ "${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME}" ++ TIMEOUT 60 STATUS DOCBOOK_DTD_STATUS) ++ list(GET DOCBOOK_DTD_STATUS 0 DOCBOOK_DTD_ERROR) ++ if (DOCBOOK_DTD_ERROR EQUAL 0) ++ # Download successful! Extract the DTD ZIP file. ++ message(STATUS "Extracting DocBook DTD...") ++ execute_process( ++ COMMAND ${UNZIP} -d docbook-dtd-${WANT_DOCBOOK_DTD_VERSION} -q "${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME}" ++ WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ++ RESULT_VARIABLE UNZIP_DTD_RESULT) ++ if (UNZIP_DTD_RESULT EQUAL 0) ++ # Extraction successful. Cleanup the downloaded file. ++ file(REMOVE ${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME}) ++ set(DOCBOOK_DTD_DIR ++ ${CMAKE_BINARY_DIR}/docbook-dtd-${WANT_DOCBOOK_DTD_VERSION} ++ CACHE PATH "Path to the DocBook DTD" FORCE) ++ else() ++ # We failed: report the error to the user ++ message(SEND_ERROR "Extraction of DocBook DTD archive ${DOCBOOK_DTD_FILENAME} failed with error \"${UNZIP_DTD_RESULT}\". DocBook DTD and XSL autoconfiguration cannot continue.") ++ endif () ++ else() ++ list(GET DOCBOOK_DTD_STATUS 1 DOCBOOK_DTD_ERRORMSG) ++ message(SEND_ERROR "Unable to download DocBook DTD from ${DOCBOOK_DTD_URL}. Error was: \"${DOCBOOK_DTD_ERRORMSG}\"") ++ endif() ++ endif() ++endmacro(download_docbook_dtd) ++ ++# Downloads the DocBook XSL into a place where DOCBOOK_XSL_DIR can ++# find it. ++macro(download_docbook_xsl) ++ if (NOT DOCBOOK_XSL_DIR) ++ set(DOCBOOK_XSL_FILENAME "docbook-xsl-${WANT_DOCBOOK_XSL_VERSION}.zip") ++ set(DOCBOOK_XSL_URL ++ "${SOURCEFORGE_MIRROR}/sourceforge/docbook/${DOCBOOK_XSL_FILENAME}") ++ message(STATUS "Downloading DocBook XSL from ${DOCBOOK_XSL_URL}...") ++ file(DOWNLOAD ++ "${DOCBOOK_XSL_URL}" ++ "${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME}" ++ TIMEOUT 60 STATUS DOCBOOK_XSL_STATUS) ++ list(GET DOCBOOK_XSL_STATUS 0 DOCBOOK_XSL_ERROR) ++ if (DOCBOOK_XSL_ERROR EQUAL 0) ++ # Download successful! Extract the XSL ZIP file. ++ message(STATUS "Extracting DocBook XSL stylesheets...") ++ execute_process( ++ COMMAND ${UNZIP} -q "${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME}" ++ WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ++ RESULT_VARIABLE UNZIP_XSL_RESULT) ++ if (UNZIP_XSL_RESULT EQUAL 0) ++ # Extraction successful. Clean up the downloaded file. ++ file(REMOVE ${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME}) ++ set(DOCBOOK_XSL_DIR ++ ${CMAKE_BINARY_DIR}/docbook-xsl-${WANT_DOCBOOK_XSL_VERSION} ++ CACHE PATH "Path to the DocBook XSL stylesheets" FORCE) ++ else() ++ # We failed: report the error to the user ++ message(SEND_ERROR "Extraction of DocBook XSL archive ${DOCBOOK_XSL_FILENAME} failed with error \"${UNZIP_XSL_RESULT}\". DocBook XSL and XSL autoconfiguration cannot continue.") ++ endif () ++ else() ++ list(GET DOCBOOK_XSL_STATUS 1 DOCBOOK_XSL_ERRORMSG) ++ message(SEND_ERROR "Unable to download DocBook XSL from ${DOCBOOK_XSL_URL}. Error was: \"${DOCBOOK_XSL_ERRORMSG}\". You might want to try another SourceForge mirror site by changing the advanced configuration variable SOURCEFORGE_MIRROR.") ++ endif() ++ endif() ++endmacro(download_docbook_xsl) ++ ++# Preferred versions of DocBook stylesheets and utilities. We don't ++# require these, but we know that they work. ++set(WANT_DOCBOOK_DTD_VERSION 4.2) ++set(WANT_DOCBOOK_XSL_VERSION 1.73.2) ++ ++# Find the DocBook DTD (version 4.2) ++find_path(DOCBOOK_DTD_DIR docbookx.dtd ++ PATHS "${CMAKE_BINARY_DIR}/docbook-dtd-${WANT_DOCBOOK_DTD_VERSION}" ++ # ubuntu puts 'em here ++ /usr/share/xml/docbook/schema/dtd/${WANT_DOCBOOK_DTD_VERSION} ++ DOC "Path to the DocBook DTD") ++ ++# Find the DocBook XSL stylesheets ++find_path(DOCBOOK_XSL_DIR html/html.xsl ++ PATHS "${CMAKE_BINARY_DIR}/docbook-xsl-${WANT_DOCBOOK_XSL_VERSION}" ++ # ubuntu puts 'em here ++ /usr/share/xml/docbook/stylesheet/nwalsh ++ DOC "Path to the DocBook XSL stylesheets") ++ ++# Find the BoostBook DTD (it should be in the distribution!) ++find_path(BOOSTBOOK_DTD_DIR boostbook.dtd ++ PATHS ${CMAKE_SOURCE_DIR}/tools/boostbook/dtd ++ DOC "Path to the BoostBook DTD") ++mark_as_advanced(BOOSTBOOK_DTD_DIR) ++ ++# Find the BoostBook XSL stylesheets (they should be in the distribution!) ++find_path(BOOSTBOOK_XSL_DIR docbook.xsl ++ PATHS ${CMAKE_SOURCE_DIR}/tools/boostbook/xsl ++ DOC "Path to the BoostBook XSL stylesheets") ++mark_as_advanced(BOOSTBOOK_XSL_DIR) ++ ++if (XSLTPROC_EXECUTABLE AND DOXYGEN) ++ if (DOCBOOK_DTD_DIR AND DOCBOOK_XSL_DIR) ++ # Documentation build options ++ option(BUILD_DOCUMENTATION "Whether to build library documentation" ON) ++ option(BUILD_DOCUMENTATION_HTML "Whether to build HTML documentation" ON) ++ option(BUILD_DOCUMENTATION_MAN_PAGES "Whether to build Unix man pages" ON) ++ ++ # Generate an XML catalog file. ++ configure_file(${CMAKE_SOURCE_DIR}/tools/build/CMake/catalog.xml.in ++ ${CMAKE_BINARY_DIR}/catalog.xml ++ @ONLY) ++ else() ++ # Look for "unzip", because we'll need it to download the DocBook ++ # DTD and XSL stylesheets as part of autoconfiguration. ++ find_program(UNZIP unzip DOC "Used to extract ZIP archives") ++ ++ if (UNZIP) ++ option(DOCBOOK_AUTOCONFIG ++ "Automatically download and configure DocBook DTD and XSL" OFF) ++ set(SOURCEFORGE_MIRROR "http://dl.sourceforge.net" ++ CACHE STRING "SourceForge mirror used to download DocBook XSL during autoconfiguration") ++ mark_as_advanced(SOURCEFORGE_MIRROR) ++ if (DOCBOOK_AUTOCONFIG) ++ message(STATUS "Initiating DocBook DTD and XSL autoconfiguration...") ++ download_docbook_dtd() ++ download_docbook_xsl() ++ endif (DOCBOOK_AUTOCONFIG) ++ endif() ++ endif() ++endif() ++ ++# Turn off BUILD_DOCUMENTATION if it isn't going to succeed. ++if (BUILD_DOCUMENTATION) ++ set(BUILD_DOCUMENTATION_OKAY TRUE) ++ if (NOT XSLTPROC_FOUND) ++ set(BUILD_DOCUMENTATION_OKAY FALSE) ++ message(STATUS "Docs build disabled due to missing xsltproc") ++ elseif (NOT DOXYGEN_FOUND) ++ set(BUILD_DOCUMENTATION_OKAY FALSE) ++ message(STATUS "Docs build disabled due to missing doxygen") ++ elseif (NOT DOCBOOK_DTD_DIR) ++ set(BUILD_DOCUMENTATION_OKAY FALSE) ++ message(STATUS "Docs build disabled due to missing docbook dtd dir") ++ message(STATUS "You can set DOCBOOK_AUTOCONFIG to attempt this automatically.") ++ elseif (NOT DOCBOOK_XSL_DIR) ++ set(BUILD_DOCUMENTATION_OKAY FALSE) ++ message(STATUS "Docs build disabled due to missing docbook xsl dir") ++ message(STATUS "You can set DOCBOOK_AUTOCONFIG to attempt this automatically.") ++ else() ++ set(BUILD_DOCUMENTATION_OKAY TRUE) ++ endif() ++ ++ if (NOT BUILD_DOCUMENTATION_OKAY) ++ if (BUILD_DOCUMENTATION) ++ set(BUILD_DOCUMENTATION OFF CACHE BOOL ++ "Whether to build library documentation" FORCE) ++ endif() ++ endif() ++endif() +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/BoostExternals.cmake boost-1.44.0-cmake/tools/build/CMake/BoostExternals.cmake +--- boost_1_44_0/tools/build/CMake/BoostExternals.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/BoostExternals.cmake 2010-08-22 00:04:45.956867439 +0200 +@@ -0,0 +1,55 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++ ++message(STATUS "") ++colormsg(_HIBLUE_ "Looking for (optional) dependencies on the system") ++ ++macro(boost_external_report NAME) ++ string(TOUPPER ${NAME} VARNAME) ++ set(VARNAMES ${ARGV}) ++ list(REMOVE_AT VARNAMES 0) ++ set(SUCCESS ${${VARNAME}_FOUND}) ++ if(NOT SUCCESS) ++ message(STATUS "${NAME} not found, some libraries or features will be disabled.") ++ message(STATUS "See the documentation for ${NAME} or manually set these variables:") ++ endif() ++ foreach(variable ${VARNAMES}) ++ boost_report_value(${VARNAME}_${variable}) ++ endforeach() ++endmacro() ++ ++# ++# Some externals default to OFF ++# ++option(WITH_VALGRIND "Run tests under valgrind" OFF) ++ ++# ++# ++# ++foreach(external ++ BZip2 ++ Doxygen ++ Expat ++ ICU ++ MPI ++ Python ++ Xsltproc ++ Valgrind ++ ZLib ++ ) ++ message(STATUS "") ++ string(TOUPPER "${external}" EXTERNAL) ++ option(WITH_${EXTERNAL} "Attempt to find and configure ${external}" ON) ++ if(WITH_${EXTERNAL}) ++ colormsg(HICYAN "${external}:") ++ include(${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/externals/${external}.cmake) ++ else() ++ set(${EXTERNAL}_FOUND FALSE CACHE BOOL "${external} found" FORCE) ++ colormsg(HIRED "${external}:" RED "disabled, since WITH_${EXTERNAL}=OFF") ++ endif() ++endforeach() ++message(STATUS "") +\ No newline at end of file +Binary files boost_1_44_0/tools/build/CMake/Boost.png and boost-1.44.0-cmake/tools/build/CMake/Boost.png differ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/BoostTesting.cmake boost-1.44.0-cmake/tools/build/CMake/BoostTesting.cmake +--- boost_1_44_0/tools/build/CMake/BoostTesting.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/BoostTesting.cmake 2010-08-22 00:04:47.004854798 +0200 +@@ -0,0 +1,494 @@ ++########################################################################## ++# Regression Testing Support for Boost # ++########################################################################## ++# Copyright (C) 2007-8 Douglas Gregor # ++# Copyright (C) 2007-8 Troy D. Straszheim # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# This file provides a set of CMake macros that support regression ++# testing for Boost libraries. For each of the test macros below, the ++# first argument, testname, states the name of the test that will be ++# created. If no other arguments are provided, the source file ++# testname.cpp will be used as the source file; otherwise, source ++# files should be listed immediately after the name of the test. ++# ++# The macros for creating regression tests are: ++# boost_test_run: Builds an executable and runs it as a test. The test ++# succeeds if it builds and returns 0 when executed. ++# ++# boost_test_run_fail: Builds an executable and runs it as a test. The ++# test succeeds if it builds but returns a non-zero ++# exit code when executed. ++# ++# boost_test_compile: Tests that the given source file compiles without ++# any errors. ++# ++# boost_test_compile_fail: Tests that the given source file produces ++# errors when compiled. ++# ++# boost_additional_test_dependencies: Adds needed include directories for ++# the tests. ++ ++# User-controlled option that can be used to enable/disable regression ++# testing. By default, we disable testing, because most users won't ++# want or need to perform regression testing on Boost. The Boost build ++# is significantly faster when we aren't also building regression ++# tests. ++ ++if (BOOST_CMAKE_SELFTEST) ++ set(tests "ALL") ++else() ++ set(tests "NONE") ++endif() ++ ++set(BUILD_TESTS ${tests} CACHE STRING "Semicolon-separated list of lowercase librarary names to test, or \"ALL\"") ++enable_testing() ++ ++if (BUILD_TESTING) ++ if (NOT EXISTS ${CMAKE_BINARY_DIR}/CTestCustom.cmake) ++ configure_file(${CMAKE_SOURCE_DIR}/tools/build/CMake/CTestCustom.cmake.in ++ ${CMAKE_BINARY_DIR}/CTestCustom.cmake ++ COPYONLY) ++ endif() ++ include(CTest) ++endif() ++ ++if (BUILD_TESTS STREQUAL "NONE") ++ # ++ # Add a little "message" if tests are run while BUILD_TESTS is NONE ++ # ++ add_test(BUILD_TESTS_is_NONE_nothing_to_test ++ /bin/false) ++endif() ++ ++set(DART_TESTING_TIMEOUT 15 ++ CACHE INTEGER ++ "Timeout after this many seconds of madness") ++ ++#------------------------------------------------------------------------------- ++# This macro adds additional include directories based on the dependencies of ++# the library being tested 'libname' and all of its dependencies. ++# ++# boost_additional_test_dependencies(libname ++# BOOST_DEPENDS libdepend1 libdepend2 ...) ++# ++# libname is the name of the boost library being tested. (signals) ++# ++# There is mandatory argument to the macro: ++# ++# BOOST_DEPENDS: The list of the extra boost libraries that the test suite will ++# depend on. You do NOT have to list those libraries already listed by the ++# module.cmake file as these will be used. ++# ++# ++# example usage: ++# boost_additional_test_dependencies(signals BOOST_DEPENDS test optional) ++# ++# ++# TDS 20091103: ++# For the moment we don't need this, since tests are now traversed ++# after project directories (so all boost lib dependency targets are ++# visible to all tests) and modularization has crashed and burned. ++# ++macro(boost_additional_test_dependencies libname) ++ # NOTE DISABLED ++ if (FALSE) ++ parse_arguments(BOOST_TEST ++ "BOOST_DEPENDS" ++ "" ++ ${ARGN} ++ ) ++ # Get the list of libraries that this test depends on ++ # Set THIS_PROJECT_DEPENDS_ALL to the set of all of its ++ # dependencies, its dependencies' dependencies, etc., transitively. ++ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS) ++ set(THIS_TEST_DEPENDS_ALL ${libname} ${${THIS_PROJECT_DEPENDS}} ) ++ set(ADDED_DEPS TRUE) ++ while (ADDED_DEPS) ++ set(ADDED_DEPS FALSE) ++ foreach(DEP ${THIS_TEST_DEPENDS_ALL}) ++ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS) ++ foreach(DEPDEP ${${DEP_DEPENDS}}) ++ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ endforeach() ++ endforeach() ++ endwhile() ++ ++ # Get the list of dependencies for the additional libraries arguments ++ foreach(additional_lib ${BOOST_TEST_BOOST_DEPENDS}) ++ list(FIND THIS_TEST_DEPENDS_ALL ${additional_lib} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_TEST_DEPENDS_ALL ${additional_lib}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ string(TOUPPER "BOOST_${additional_lib}_DEPENDS" THIS_PROJECT_DEPENDS) ++ set(ADDED_DEPS TRUE) ++ while (ADDED_DEPS) ++ set(ADDED_DEPS FALSE) ++ foreach(DEP ${THIS_TEST_DEPENDS_ALL}) ++ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS) ++ foreach(DEPDEP ${${DEP_DEPENDS}}) ++ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ endforeach() ++ endforeach() ++ endwhile() ++ endforeach() ++ ++ foreach (include ${THIS_TEST_DEPENDS_ALL}) ++ # ++ # Modularization temporarily disabled ++ # ++ # include_directories("${Boost_SOURCE_DIR}/libs/${include}/include") ++ # ++ endforeach (include ${includes}) ++endif() ++ ++endmacro(boost_additional_test_dependencies libname) ++#------------------------------------------------------------------------------- ++ ++#------------------------------------------------------------------------------- ++# This macro is an internal utility macro that helps parse the ++# arguments passed to the Boost testing commands. It will generally ++# not be used by Boost developers. ++# ++# boost_test_parse_args(testname ++# [source1 source2 ...] ++# [ARGS arg1 arg2... ] ++# [COMPILE_FLAGS compileflags] ++# [LINK_FLAGS linkflags] ++# [LINK_LIBS linklibs] ++# [DEPENDS libdepend1 libdepend2 ...] ++# [KNOWN_FAILURES string1 string2 ...] ++# [COMPILE] [RUN] [FAIL]) ++# ++# testname is the name of the test. The remaining arguments passed to ++# this macro will be parsed and categorized for the developer-level ++# test macros to use. ++# ++# Variables affected: ++# ++# BOOST_TEST_OKAY: Will be set to TRUE if it is okay to build and ++# run this test. ++# ++# BOOST_TEST_SOURCES: Will be populated with the set of source files ++# that should be used to compile this test. If the user has provided ++# source files, BOOST_TEST_SOURCES will contain those; otherwise, ++# BOOST_TEST_SOURCES will only contain "testname.cpp". ++# ++# BOOST_TEST_TESTNAME: A (hopefully) globally unique target name ++# for the test, constructed from PROJECT-testname-TAG ++# ++# BOOST_TEST_arg: Will be populated with the arguments provided for ++# the arguemnt "arg", where "arg" can be any of the extra arguments ++# specified above. ++# ++# ++macro(boost_test_parse_args testname) ++ #message("boost_test_parse_args ${testname} ${ARGN}") ++ set(BOOST_TEST_OKAY TRUE) ++ set(BOOST_TEST_COMPILE_FLAGS "") ++ parse_arguments(BOOST_TEST ++ "BOOST_LIB;LINK_LIBS;LINK_FLAGS;DEPENDS;COMPILE_FLAGS;ARGS;EXTRA_OPTIONS;KNOWN_FAILURES" ++ "COMPILE;RUN;LINK;FAIL;RELEASE;DEBUG" ++ ${ARGN} ++ ) ++ ++ # Check each of the dependencies to see if we can still build this ++ # test. ++ foreach(ARG ${BOOST_TEST_DEPENDS}) ++ get_target_property(DEPEND_TYPE ${ARG} TYPE) ++ get_target_property(DEPEND_LOCATION ${ARG} LOCATION) ++ # If building static libraries is turned off, don't try to build ++ # the test ++ #if (NOT ENABLE_STATIC AND ${DEPEND_TYPE} STREQUAL "STATIC_LIBRARY") ++ #set(BOOST_TEST_OKAY FALSE) ++ #endif (NOT ENABLE_STATIC AND ${DEPEND_TYPE} STREQUAL "STATIC_LIBRARY") ++ ++ # If building shared libraries is turned off, don't try to build ++ # the test ++ #if (NOT ENABLE_SHARED AND ${DEPEND_TYPE} STREQUAL "SHARED_LIBRARY") ++ #set(BOOST_TEST_OKAY FALSE) ++ #endif (NOT ENABLE_SHARED AND ${DEPEND_TYPE} STREQUAL "SHARED_LIBRARY") ++ endforeach(ARG ${BOOST_TEST_DEPENDS}) ++ ++ # Setup the SOURCES variables. If no sources are specified, use the ++ # name of the test.cpp ++ if (BOOST_TEST_DEFAULT_ARGS) ++ set(BOOST_TEST_SOURCES ${BOOST_TEST_DEFAULT_ARGS}) ++ else (BOOST_TEST_DEFAULT_ARGS) ++ set(BOOST_TEST_SOURCES "${testname}.cpp") ++ endif (BOOST_TEST_DEFAULT_ARGS) ++ ++ set(BOOST_TEST_TESTNAME "${BOOST_PROJECT_NAME}-${testname}") ++ #message("testname: ${BOOST_TEST_TESTNAME}") ++ # If testing is turned off, this test is not okay ++endmacro(boost_test_parse_args) ++ ++# This macro attaches a the "known-failure" label to the given test ++# target if the build name matches any of the declared, known ++# failures. ++macro(boost_test_known_failures TEST) ++ foreach(PATTERN ${ARGN}) ++ if (${BUILDNAME} MATCHES ${PATTERN}) ++ set_tests_properties("${BOOST_PROJECT_NAME}-${TEST}" ++ PROPERTIES ++ LABELS "${BOOST_PROJECT_NAME};known-failure" ++ WILL_FAIL TRUE ++ ) ++ endif() ++ endforeach() ++endmacro(boost_test_known_failures) ++ ++ ++# This macro creates a Boost regression test that will be executed. If ++# the test can be built, executed, and exits with a return code of ++# zero, it will be considered to have passed. ++# ++# boost_test_run(testname ++# [source1 source2 ...] ++# [ARGS arg1 arg2... ] ++# [COMPILE_FLAGS compileflags] ++# [LINK_FLAGS linkflags] ++# [LINK_LIBS linklibs] ++# [DEPENDS libdepend1 libdepend2 ...] ++# [EXTRA_OPTIONS option1 option2 ...]) ++# ++# testname is the name of the test. source1, source2, etc. are the ++# source files that will be built and linked into the test ++# executable. If no source files are provided, the file "testname.cpp" ++# will be used instead. ++# ++# There are several optional arguments to control how the regression ++# test is built and executed: ++# ++# ARGS: Provides additional arguments that will be passed to the ++# test executable when it is run. ++# ++# COMPILE_FLAGS: Provides additional compilation flags that will be ++# used when building this test. For example, one might want to add ++# "-DBOOST_SIGNALS_ASSERT=1" to turn on assertions within the library. ++# ++# LINK_FLAGS: Provides additional flags that will be passed to the ++# linker when linking the test excecutable. This option should not ++# be used to link in additional libraries; see LINK_LIBS and ++# DEPENDS. ++# ++# LINK_LIBS: Provides additional libraries against which the test ++# executable will be linked. For example, one might provide "expat" ++# as options to LINK_LIBS, to state that this executable should be ++# linked against the external "expat" library. Use LINK_LIBS for ++# libraries external to Boost; for Boost libraries, use DEPENDS. ++# ++# DEPENDS: States that this test executable depends on and links ++# against another Boost library. The argument to DEPENDS should be ++# the name of a particular variant of a Boost library, e.g., ++# boost_signals-static. ++# ++# EXTRA_OPTIONS: Provide extra options that will be passed on to ++# boost_add_executable. ++# ++# Example: ++# boost_test_run(signal_test DEPENDS boost_signals) ++macro(boost_test_run testname) ++ boost_test_parse_args(${testname} ${ARGN} RUN) ++ # ++ # On windows, tests have to go in the same directory as ++ # DLLs. ++ # ++ if (NOT CMAKE_HOST_WIN32) ++ set(THIS_TEST_OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/${testname}) ++ else() ++ set(THIS_TEST_OUTPUT_NAME ${BOOST_PROJECT_NAME}-${testname}) ++ endif() ++ ++ if (BOOST_TEST_OKAY) ++ boost_add_executable(${testname} ${BOOST_TEST_SOURCES} ++ DEPENDS "${BOOST_TEST_DEPENDS}" ++ OUTPUT_NAME ${THIS_TEST_OUTPUT_NAME} ++ LINK_LIBS ${BOOST_TEST_LINK_LIBS} ++ LINK_FLAGS ${BOOST_TEST_LINK_FLAGS} ++ COMPILE_FLAGS ${BOOST_TEST_COMPILE_FLAGS} ++ NO_INSTALL ++ ${BOOST_TEST_EXTRA_OPTIONS}) ++ ++ if (THIS_EXE_OKAY) ++ # ++ # Fixup path for visual studio per instructions from Brad King: ++ # ++ get_target_property(THIS_TEST_LOCATION ${BOOST_TEST_TESTNAME} ++ LOCATION) ++ string(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}" ++ THIS_TEST_LOCATION "${THIS_TEST_LOCATION}") ++ ++ add_test (${BOOST_TEST_TESTNAME} ++ ${VALGRIND_EXECUTABLE} ++ ${VALGRIND_FLAGS} ++ ${THIS_TEST_LOCATION} ++ ${BOOST_TEST_ARGS}) ++ ++ set_tests_properties(${BOOST_TEST_TESTNAME} ++ PROPERTIES ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES}) ++ ++ if (BOOST_TEST_FAIL) ++ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON) ++ endif () ++ endif(THIS_EXE_OKAY) ++ endif (BOOST_TEST_OKAY) ++endmacro(boost_test_run) ++ ++# ++# This macro creates a boost regression test that will be run but is ++# expected to fail (exit with nonzero return code). ++# See boost_test_run() ++# ++macro(boost_test_run_fail testname) ++ boost_test_run(${testname} ${ARGN} FAIL) ++endmacro(boost_test_run_fail) ++ ++# This macro creates a Boost regression test that will be compiled, ++# but not linked or executed. If the test can be compiled with no ++# failures, the test passes. ++# ++# boost_test_compile(testname ++# [source1] ++# [COMPILE_FLAGS compileflags]) ++# ++# testname is the name of the test. source1 is the name of the source ++# file that will be built. If no source file is provided, the file ++# "testname.cpp" will be used instead. ++# ++# The COMPILE_FLAGS argument provides additional arguments that will ++# be passed to the compiler when building this test. ++ ++# Example: ++# boost_test_compile(advance) ++macro(boost_test_compile testname) ++ boost_test_parse_args(${testname} ${ARGN} COMPILE) ++ ++ if (BOOST_TEST_FAIL) ++ set (test_pass "FAILED") ++ else() ++ set (test_pass "PASSED") ++ endif() ++ ++ if (BOOST_TEST_OKAY) ++ ++ # Determine the include directories to pass along to the underlying ++ # project. ++ # works but not great ++ get_directory_property(BOOST_TEST_INCLUDE_DIRS INCLUDE_DIRECTORIES) ++ set(BOOST_TEST_INCLUDES "") ++ foreach(DIR ${BOOST_TEST_INCLUDE_DIRS}) ++ set(BOOST_TEST_INCLUDES "${BOOST_TEST_INCLUDES};${DIR}") ++ endforeach(DIR ${BOOST_TEST_INCLUDE_DIRS}) ++ ++ add_test(${BOOST_TEST_TESTNAME} ++ ${CMAKE_CTEST_COMMAND} ++ --build-and-test ++ ${Boost_SOURCE_DIR}/tools/build/CMake/CompileTest ++ ${Boost_BINARY_DIR}/tools/build/CMake/CompileTest ++ --build-generator ${CMAKE_GENERATOR} ++ --build-makeprogram ${CMAKE_MAKE_PROGRAM} ++ --build-project CompileTest ++ --build-options ++ "-DSOURCE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES}" ++ "-DINCLUDES:STRING=${BOOST_TEST_INCLUDES}" ++ "-DCOMPILE_FLAGS:STRING=${BOOST_TEST_COMPILE_FLAGS}" ++ ) ++ ++ set_tests_properties(${BOOST_TEST_TESTNAME} ++ PROPERTIES ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ ++ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES}) ++ ++ if (BOOST_TEST_FAIL) ++ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON) ++ endif () ++ endif(BOOST_TEST_OKAY) ++endmacro(boost_test_compile) ++ ++# ++# This macro creates a Boost regression test that is expected to ++# *fail* to compile. See boost_test_compile() ++# ++macro(boost_test_compile_fail testname) ++ boost_test_compile(${testname} ${ARGN} FAIL) ++endmacro(boost_test_compile_fail) ++ ++ ++ ++ ++# ++# boost_test_link: ++# ++# ++# Each library "exports" itself to ++# ${CMAKE_BINARY_DIR}/exports/.cmake ++# ++# The list of 'depends' for these libraries has to match one of those ++# files, this way the export mechanism works. The generated ++# cmakelists will include() those exported .cmake files, for each ++# DEPENDS. ++# ++# ++macro(boost_test_link testname) ++ boost_test_parse_args(${testname} ${ARGN} LINK) ++ if(BOOST_TEST_OKAY) ++ # Determine the include directories to pass along to the underlying ++ # project. ++ # works but not great ++ get_directory_property(BOOST_TEST_INCLUDE_DIRS INCLUDE_DIRECTORIES) ++ set(BOOST_TEST_INCLUDES "") ++ foreach(DIR ${BOOST_TEST_INCLUDE_DIRS}) ++ set(BOOST_TEST_INCLUDES "${BOOST_TEST_INCLUDES};${DIR}") ++ endforeach(DIR ${BOOST_TEST_INCLUDE_DIRS}) ++ ++ add_test(${BOOST_TEST_TESTNAME} ++ ${CMAKE_CTEST_COMMAND} ++ -VV ++ --build-and-test ++ ${Boost_SOURCE_DIR}/tools/build/CMake/LinkTest ++ ${Boost_BINARY_DIR}/tools/build/CMake/LinkTest ++ --build-generator ${CMAKE_GENERATOR} ++ --build-makeprogram ${CMAKE_MAKE_PROGRAM} ++ --build-project LinkTest ++ --build-options ++ "-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}" ++ "-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}" ++ "-DBOOST_EXPORTS_DIR:FILEPATH=${CMAKE_BINARY_DIR}/exports" ++ "-DSOURCE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES}" ++ "-DINCLUDES:STRING=${BOOST_TEST_INCLUDES}" ++ "-DCOMPILE_FLAGS:STRING=${BOOST_TEST_COMPILE_FLAGS}" ++ "-DLINK_LIBS:STRING=${BOOST_TEST_LINK_LIBS}" ++ "-DDEPENDS:STRING=${BOOST_TEST_DEPENDS}" ++ ) ++ ++ set_tests_properties(${BOOST_TEST_TESTNAME} ++ PROPERTIES ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ ++ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES}) ++ ++ if (BOOST_TEST_FAIL) ++ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON) ++ endif () ++ endif(BOOST_TEST_OKAY) ++endmacro(boost_test_link) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/BoostUtils.cmake boost-1.44.0-cmake/tools/build/CMake/BoostUtils.cmake +--- boost_1_44_0/tools/build/CMake/BoostUtils.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/BoostUtils.cmake 2010-08-22 00:04:46.280855107 +0200 +@@ -0,0 +1,331 @@ ++########################################################################## ++# Boost Utilities # ++########################################################################## ++# Copyright (C) 2007 Douglas Gregor # ++# Copyright (C) 2007 Troy Straszheim # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# Macros in this module: # ++# # ++# list_contains: Determine whether a string value is in a list. # ++# # ++# car: Return the first element in a list # ++# # ++# cdr: Return all but the first element in a list # ++# # ++# parse_arguments: Parse keyword arguments for use in other macros. # ++########################################################################## ++ ++# This utility macro determines whether a particular string value ++# occurs within a list of strings: ++# ++# list_contains(result string_to_find arg1 arg2 arg3 ... argn) ++# ++# This macro sets the variable named by result equal to TRUE if ++# string_to_find is found anywhere in the following arguments. ++macro(list_contains var value) ++ set(${var}) ++ foreach (value2 ${ARGN}) ++ if (${value} STREQUAL ${value2}) ++ set(${var} TRUE) ++ endif (${value} STREQUAL ${value2}) ++ endforeach (value2) ++endmacro(list_contains) ++ ++# This utility macro extracts the first argument from the list of ++# arguments given, and places it into the variable named var. ++# ++# car(var arg1 arg2 ...) ++macro(car var) ++ set(${var} ${ARGV1}) ++endmacro(car) ++ ++# This utility macro extracts all of the arguments given except the ++# first, and places them into the variable named var. ++# ++# car(var arg1 arg2 ...) ++macro(cdr var junk) ++ set(${var} ${ARGN}) ++endmacro(cdr) ++ ++# The PARSE_ARGUMENTS macro will take the arguments of another macro and ++# define several variables. The first argument to PARSE_ARGUMENTS is a ++# prefix to put on all variables it creates. The second argument is a ++# list of names, and the third argument is a list of options. Both of ++# these lists should be quoted. The rest of PARSE_ARGUMENTS are ++# arguments from another macro to be parsed. ++# ++# PARSE_ARGUMENTS(prefix arg_names options arg1 arg2...) ++# ++# For each item in options, PARSE_ARGUMENTS will create a variable with ++# that name, prefixed with prefix_. So, for example, if prefix is ++# MY_MACRO and options is OPTION1;OPTION2, then PARSE_ARGUMENTS will ++# create the variables MY_MACRO_OPTION1 and MY_MACRO_OPTION2. These ++# variables will be set to true if the option exists in the command line ++# or false otherwise. ++# ++# For each item in arg_names, PARSE_ARGUMENTS will create a variable ++# with that name, prefixed with prefix_. Each variable will be filled ++# with the arguments that occur after the given arg_name is encountered ++# up to the next arg_name or the end of the arguments. All options are ++# removed from these lists. PARSE_ARGUMENTS also creates a ++# prefix_DEFAULT_ARGS variable containing the list of all arguments up ++# to the first arg_name encountered. ++MACRO(PARSE_ARGUMENTS prefix arg_names option_names) ++ SET(DEFAULT_ARGS) ++ FOREACH(arg_name ${arg_names}) ++ SET(${prefix}_${arg_name}) ++ ENDFOREACH(arg_name) ++ FOREACH(option ${option_names}) ++ SET(${prefix}_${option} FALSE) ++ ENDFOREACH(option) ++ ++ SET(current_arg_name DEFAULT_ARGS) ++ SET(current_arg_list) ++ FOREACH(arg ${ARGN}) ++ LIST_CONTAINS(is_arg_name ${arg} ${arg_names}) ++ IF (is_arg_name) ++ SET(${prefix}_${current_arg_name} ${current_arg_list}) ++ SET(current_arg_name ${arg}) ++ SET(current_arg_list) ++ ELSE (is_arg_name) ++ LIST_CONTAINS(is_option ${arg} ${option_names}) ++ IF (is_option) ++ SET(${prefix}_${arg} TRUE) ++ ELSE (is_option) ++ SET(current_arg_list ${current_arg_list} ${arg}) ++ ENDIF (is_option) ++ ENDIF (is_arg_name) ++ ENDFOREACH(arg) ++ SET(${prefix}_${current_arg_name} ${current_arg_list}) ++ENDMACRO(PARSE_ARGUMENTS) ++ ++# Perform a reverse topological sort on the given LIST. ++# ++# topological_sort(my_list "MY_" "_EDGES") ++# ++# LIST is the name of a variable containing a list of elements to be ++# sorted in reverse topological order. Each element in the list has a ++# set of outgoing edges (for example, those other list elements that ++# it depends on). In the resulting reverse topological ordering ++# (written back into the variable named LIST), an element will come ++# later in the list than any of the elements that can be reached by ++# following its outgoing edges and the outgoing edges of any vertices ++# they target, recursively. Thus, if the edges represent dependencies ++# on build targets, for example, the reverse topological ordering is ++# the order in which one would build those targets. ++# ++# For each element E in this list, the edges for E are contained in ++# the variable named ${PREFIX}${E}${SUFFIX}, where E is the ++# upper-cased version of the element in the list. If no such variable ++# exists, then it is assumed that there are no edges. For example, if ++# my_list contains a, b, and c, one could provide a dependency graph ++# using the following variables: ++# ++# MY_A_EDGES b ++# MY_B_EDGES ++# MY_C_EDGES a b ++# ++# With the involcation of topological_sort shown above and these ++# variables, the resulting reverse topological ordering will be b, a, ++# c. ++function(topological_sort LIST PREFIX SUFFIX) ++ # Clear the stack and output variable ++ set(VERTICES "${${LIST}}") ++ set(STACK) ++ set(${LIST}) ++ ++ # Loop over all of the vertices, starting the topological sort from ++ # each one. ++ foreach(VERTEX ${VERTICES}) ++ string(TOUPPER ${VERTEX} UPPER_VERTEX) ++ ++ # If we haven't already processed this vertex, start a depth-first ++ # search from where. ++ if (NOT FOUND_${UPPER_VERTEX}) ++ # Push this vertex onto the stack with all of its outgoing edges ++ string(REPLACE ";" " " NEW_ELEMENT ++ "${VERTEX};${${PREFIX}${UPPER_VERTEX}${SUFFIX}}") ++ list(APPEND STACK ${NEW_ELEMENT}) ++ ++ # We've now seen this vertex ++ set(FOUND_${UPPER_VERTEX} TRUE) ++ ++ # While the depth-first search stack is not empty ++ list(LENGTH STACK STACK_LENGTH) ++ while(STACK_LENGTH GREATER 0) ++ # Remove the vertex and its remaining out-edges from the top ++ # of the stack ++ list(GET STACK -1 OUT_EDGES) ++ list(REMOVE_AT STACK -1) ++ ++ # Get the source vertex and the list of out-edges ++ separate_arguments(OUT_EDGES) ++ list(GET OUT_EDGES 0 SOURCE) ++ list(REMOVE_AT OUT_EDGES 0) ++ ++ # While there are still out-edges remaining ++ list(LENGTH OUT_EDGES OUT_DEGREE) ++ while (OUT_DEGREE GREATER 0) ++ # Pull off the first outgoing edge ++ list(GET OUT_EDGES 0 TARGET) ++ list(REMOVE_AT OUT_EDGES 0) ++ ++ string(TOUPPER ${TARGET} UPPER_TARGET) ++ if (NOT FOUND_${UPPER_TARGET}) ++ # We have not seen the target before, so we will traverse ++ # its outgoing edges before coming back to our ++ # source. This is the key to the depth-first traversal. ++ ++ # We've now seen this vertex ++ set(FOUND_${UPPER_TARGET} TRUE) ++ ++ # Push the remaining edges for the current vertex onto the ++ # stack ++ string(REPLACE ";" " " NEW_ELEMENT ++ "${SOURCE};${OUT_EDGES}") ++ list(APPEND STACK ${NEW_ELEMENT}) ++ ++ # Setup the new source and outgoing edges ++ set(SOURCE ${TARGET}) ++ string(TOUPPER ${SOURCE} UPPER_SOURCE) ++ set(OUT_EDGES ++ ${${PREFIX}${UPPER_SOURCE}${SUFFIX}}) ++ endif(NOT FOUND_${UPPER_TARGET}) ++ ++ list(LENGTH OUT_EDGES OUT_DEGREE) ++ endwhile (OUT_DEGREE GREATER 0) ++ ++ # We have finished all of the outgoing edges for ++ # SOURCE; add it to the resulting list. ++ list(APPEND ${LIST} ${SOURCE}) ++ ++ # Check the length of the stack ++ list(LENGTH STACK STACK_LENGTH) ++ endwhile(STACK_LENGTH GREATER 0) ++ endif (NOT FOUND_${UPPER_VERTEX}) ++ endforeach(VERTEX) ++ ++ set(${LIST} ${${LIST}} PARENT_SCOPE) ++endfunction(topological_sort) ++ ++# Small little hack that tweaks a component name (as used for CPack) ++# to make sure to avoid certain names that cause problems. Sets the ++# variable named varname to the "sanitized" name. ++# ++# FIXME: This is a complete hack. We probably need to fix the CPack ++# generators (NSIS in particular) to get rid of the need for this. ++macro(fix_cpack_component_name varname name) ++ if (${name} STREQUAL "foreach") ++ set(${varname} "boost_foreach") ++ else() ++ set(${varname} ${name}) ++ endif() ++endmacro() ++ ++ ++# ++# A big shout out to the cmake gurus @ compiz ++# ++function (colormsg) ++ string (ASCII 27 _escape) ++ set(WHITE "29") ++ set(GRAY "30") ++ set(RED "31") ++ set(GREEN "32") ++ set(YELLOW "33") ++ set(BLUE "34") ++ set(MAG "35") ++ set(CYAN "36") ++ ++ foreach (color WHITE GRAY RED GREEN YELLOW BLUE MAG CYAN) ++ set(HI${color} "1\;${${color}}") ++ set(LO${color} "2\;${${color}}") ++ set(_${color}_ "4\;${${color}}") ++ set(_HI${color}_ "1\;4\;${${color}}") ++ set(_LO${color}_ "2\;4\;${${color}}") ++ endforeach() ++ ++ set(str "") ++ set(coloron FALSE) ++ foreach(arg ${ARGV}) ++ if (NOT ${${arg}} STREQUAL "") ++ if (CMAKE_COLOR_MAKEFILE) ++ set(str "${str}${_escape}[${${arg}}m") ++ set(coloron TRUE) ++ endif() ++ else() ++ set(str "${str}${arg}") ++ if (coloron) ++ set(str "${str}${_escape}[0m") ++ set(coloron FALSE) ++ endif() ++ set(str "${str} ") ++ endif() ++ endforeach() ++ message(STATUS ${str}) ++endfunction() ++ ++# colormsg("Colors:" ++# WHITE "white" GRAY "gray" GREEN "green" ++# RED "red" YELLOW "yellow" BLUE "blue" MAG "mag" CYAN "cyan" ++# _WHITE_ "white" _GRAY_ "gray" _GREEN_ "green" ++# _RED_ "red" _YELLOW_ "yellow" _BLUE_ "blue" _MAG_ "mag" _CYAN_ "cyan" ++# _HIWHITE_ "white" _HIGRAY_ "gray" _HIGREEN_ "green" ++# _HIRED_ "red" _HIYELLOW_ "yellow" _HIBLUE_ "blue" _HIMAG_ "mag" _HICYAN_ "cyan" ++# HIWHITE "white" HIGRAY "gray" HIGREEN "green" ++# HIRED "red" HIYELLOW "yellow" HIBLUE "blue" HIMAG "mag" HICYAN "cyan" ++# "right?") ++ ++# ++# pretty-prints the value of a variable so that the ++# equals signs align ++# ++function(boost_report_value NAME) ++ string(LENGTH "${NAME}" varlen) ++ math(EXPR padding_len 30-${varlen}) ++ string(SUBSTRING " " ++ 0 ${padding_len} varpadding) ++ colormsg("${NAME}${varpadding} = ${${NAME}}") ++endfunction() ++ ++function(trace NAME) ++ if(BOOST_CMAKE_TRACE) ++ string(LENGTH "${NAME}" varlen) ++ math(EXPR padding_len 40-${varlen}) ++ string(SUBSTRING "........................................" ++ 0 ${padding_len} varpadding) ++ message("${NAME} ${varpadding} ${${NAME}}") ++ endif() ++endfunction() ++ ++# ++# pretty-prints the value of a variable so that the ++# equals signs align ++# ++function(boost_report_pretty PRETTYNAME VARNAME) ++ string(LENGTH "${PRETTYNAME}" varlen) ++ math(EXPR padding_len 30-${varlen}) ++ string(SUBSTRING " " ++ 0 ${padding_len} varpadding) ++ message(STATUS "${PRETTYNAME}${varpadding} = ${${VARNAME}}") ++endfunction() ++ ++# ++# assert that ARG is actually a library target ++# ++macro(dependency_check ARG) ++ trace(ARG) ++ if (NOT ("${ARG}" STREQUAL "")) ++ get_target_property(deptype ${ARG} TYPE) ++ if(NOT deptype MATCHES ".*_LIBRARY$") ++ set(DEPENDENCY_OKAY FALSE) ++ list(APPEND DEPENDENCY_FAILURES ${ARG}) ++ endif() ++ endif() ++endmacro() ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/catalog.xml.in boost-1.44.0-cmake/tools/build/CMake/catalog.xml.in +--- boost_1_44_0/tools/build/CMake/catalog.xml.in 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/catalog.xml.in 2010-08-22 00:04:47.020854635 +0200 +@@ -0,0 +1,9 @@ ++ ++ ++ ++ ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/CMakeLists.txt 2010-08-22 00:04:46.267854859 +0200 +@@ -0,0 +1,77 @@ ++# ++# Copyright (C) Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++# ++# On unix this is '/usr/share/cmake/boost' ++# ++set(BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR ++ "share/boost-${BOOST_VERSION}/cmake" ++ CACHE STRING ++ "Directory to install Boost-${BOOST_VERSION} to") ++ ++# ++# Provides version number to sphinx build ++# ++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/source/boost_cmake_version.py.in ++ ${CMAKE_CURRENT_SOURCE_DIR}/docs/source/boost_cmake_version.py) ++ ++# ++# Makefile for sphinx build with maintainer targets ++# ++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/Makefile.in ++ ${CMAKE_CURRENT_SOURCE_DIR}/docs/Makefile) ++ ++# ++# File used by BoostConfigVersion to import targets/libs/etc ++# into users's cmake build ++# ++foreach (file ++ BoostConfig ++ BoostConfigVersion ++ BoostConfigAgnostic ++ BoostConfigVersionAgnostic) ++ configure_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/${file}.cmake.in ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/${file}.cmake @ONLY) ++endforeach() ++ ++ ++# ++# These are generated, version-specific ++# ++install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigVersion.cmake ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfig.cmake ++ DESTINATION ${BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR} ++ ) ++ ++# ++# The files that go in /share/cmake/boost that search for ++# Boost-.cmake files (user specifies ) ++# ++option(BOOST_INSTALL_CMAKE_DRIVERS ++ "Install version-agnostic BoostConfig.cmake and BoostConfigVersion.cmake to this subdirectory of CMAKE_INSTALL_PREFIX" ON) ++ ++if (BOOST_INSTALL_CMAKE_DRIVERS) ++ if (NOT BOOST_CMAKE_DRIVERS_INSTALL_DIR) ++ set(agnostic_infra_dir "share/cmake/boost") ++ else() ++ set(agnostic_infra_dir ${BOOST_CMAKE_DRIVERS_INSTALL_DIR}) ++ endif() ++ install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigAgnostic.cmake ++ DESTINATION ${agnostic_infra_dir} ++ RENAME BoostConfig.cmake ++ ) ++ install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigVersionAgnostic.cmake ++ DESTINATION ${agnostic_infra_dir} ++ RENAME BoostConfigVersion.cmake ++ ) ++endif() ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/CompileTest/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/CompileTest/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/CompileTest/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/CompileTest/CMakeLists.txt 2010-08-22 00:04:46.280069490 +0200 +@@ -0,0 +1,12 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++cmake_minimum_required(VERSION 2.6) ++project(CompileTest) ++add_library(compile-test STATIC ${SOURCE}) ++include_directories(${INCLUDES}) ++set_source_files_properties(${SOURCE} ++ PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}") +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/CTestCustom.cmake.in boost-1.44.0-cmake/tools/build/CMake/CTestCustom.cmake.in +--- boost_1_44_0/tools/build/CMake/CTestCustom.cmake.in 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/CTestCustom.cmake.in 2010-08-22 00:04:47.020854635 +0200 +@@ -0,0 +1,5 @@ ++message(FATAL_ERROR "Please customize CTestCustom.cmake, found in your build directory") ++ ++set(SITE "Set To Your Hostname") ++set(CMAKE_VERBOSE_MAKEFILE TRUE) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/docs/Makefile.in boost-1.44.0-cmake/tools/build/CMake/docs/Makefile.in +--- boost_1_44_0/tools/build/CMake/docs/Makefile.in 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/docs/Makefile.in 2010-08-22 00:04:46.293854234 +0200 +@@ -0,0 +1,101 @@ ++# ++# Makefile for Sphinx documentation ++# ++ ++# You can set these variables from the command line. ++SPHINXOPTS = ++SPHINXBUILD = sphinx-build ++PAPER = ++ ++# Internal variables. ++PAPEROPT_a4 = -D latex_paper_size=a4 ++PAPEROPT_letter = -D latex_paper_size=letter ++ALLSPHINXOPTS = -d build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source ++ ++.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest ++ ++help: ++ @echo "Please use \`make ' where is one of" ++ @echo " html to make standalone HTML files" ++ @echo " dirhtml to make HTML files named index.html in directories" ++ @echo " pickle to make pickle files" ++ @echo " json to make JSON files" ++ @echo " htmlhelp to make HTML files and a HTML help project" ++ @echo " qthelp to make HTML files and a qthelp project" ++ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" ++ @echo " changes to make an overview of all changed/added/deprecated items" ++ @echo " linkcheck to check all external links for integrity" ++ @echo " doctest to run all doctests embedded in the documentation (if enabled)" ++ ++clean: ++ -rm -rf build/* ++ ++html: ++ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) build/html ++ @echo ++ @echo "Build finished. The HTML pages are in build/html." ++ ++dirhtml: ++ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) build/dirhtml ++ @echo ++ @echo "Build finished. The HTML pages are in build/dirhtml." ++ ++pickle: ++ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) build/pickle ++ @echo ++ @echo "Build finished; now you can process the pickle files." ++ ++json: ++ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) build/json ++ @echo ++ @echo "Build finished; now you can process the JSON files." ++ ++htmlhelp: ++ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) build/htmlhelp ++ @echo ++ @echo "Build finished; now you can run HTML Help Workshop with the" \ ++ ".hhp project file in build/htmlhelp." ++ ++qthelp: ++ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) build/qthelp ++ @echo ++ @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ++ ".qhcp project file in build/qthelp, like this:" ++ @echo "# qcollectiongenerator build/qthelp/boost-cmake.qhcp" ++ @echo "To view the help file:" ++ @echo "# assistant -collectionFile build/qthelp/boost-cmake.qhc" ++ ++latex: ++ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex ++ @echo ++ @echo "Build finished; the LaTeX files are in build/latex." ++ @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ ++ "run these through (pdf)latex." ++ ++changes: ++ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) build/changes ++ @echo ++ @echo "The overview file is in build/changes." ++ ++linkcheck: ++ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) build/linkcheck ++ @echo ++ @echo "Link check complete; look for any errors in the above output " \ ++ "or in build/linkcheck/output.txt." ++ ++doctest: ++ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) build/doctest ++ @echo "Testing of doctests in the sources finished, look at the " \ ++ "results in build/doctest/output.txt." ++ ++deploy: ++ make html ++ rsync --delete -va build/html/ @BOOST_CMAKE_URL@/doc/ ++ ++ make latex ++ make -C build/latex all-pdf ++ scp build/latex/boost-@BOOST_CMAKE_VERSION@.pdf @BOOST_CMAKE_URL@ ++ ++deploy-current-docs: ++ make html ++ rsync --delete -va build/html/ @BOOST_CMAKE_HOST@:@BOOST_CMAKE_DOCROOT@/current-docs/ +Binary files boost_1_44_0/tools/build/CMake/docs/source/alt.boost.png and boost-1.44.0-cmake/tools/build/CMake/docs/source/alt.boost.png differ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/docs/source/boost/theme.conf boost-1.44.0-cmake/tools/build/CMake/docs/source/boost/theme.conf +--- boost_1_44_0/tools/build/CMake/docs/source/boost/theme.conf 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/docs/source/boost/theme.conf 2010-08-22 00:04:46.361854900 +0200 +@@ -0,0 +1,9 @@ ++[theme] ++inherit = sphinxdoc ++pygments_style = friendly ++ ++[options] ++relbarbgcolor = '#ff0000' ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/docs/source/boost_cmake_version.py.in boost-1.44.0-cmake/tools/build/CMake/docs/source/boost_cmake_version.py.in +--- boost_1_44_0/tools/build/CMake/docs/source/boost_cmake_version.py.in 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/docs/source/boost_cmake_version.py.in 2010-08-22 00:04:46.327099996 +0200 +@@ -0,0 +1,2 @@ ++version = "@BOOST_VERSION@" ++release = "@BOOST_CMAKE_VERSION@" +Binary files boost_1_44_0/tools/build/CMake/docs/source/boost-dark-trans.png and boost-1.44.0-cmake/tools/build/CMake/docs/source/boost-dark-trans.png differ +Binary files boost_1_44_0/tools/build/CMake/docs/source/boost.png and boost-1.44.0-cmake/tools/build/CMake/docs/source/boost.png differ +Binary files boost_1_44_0/tools/build/CMake/docs/source/boost-small.png and boost-1.44.0-cmake/tools/build/CMake/docs/source/boost-small.png differ +Binary files boost_1_44_0/tools/build/CMake/docs/source/MacInstaller.png and boost-1.44.0-cmake/tools/build/CMake/docs/source/MacInstaller.png differ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/docs/source/modularize_library.rst.set_aside boost-1.44.0-cmake/tools/build/CMake/docs/source/modularize_library.rst.set_aside +--- boost_1_44_0/tools/build/CMake/docs/source/modularize_library.rst.set_aside 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/docs/source/modularize_library.rst.set_aside 2010-08-22 00:04:46.520854301 +0200 +@@ -0,0 +1,183 @@ ++Modularizing a Library with CMake ++================================= ++ ++.. warning:: Don't Do This! This doc is a placeholder. ++ ++Boost's CMake-based build system supports the notion of "modular" ++libraries, which are libraries that are contained entirely within a ++single directory structure. Since modular libraries are ++self-contained, it is easier to bring in libraries of different ++versions and select specific subsets of libraries. Additionally, ++modular libraries explicitly declare their dependencies on other ++libraries (or "modules"), making it possible to build and install ++coherent subsets of Boost. For example, the binary installer for ++Windows allows one to turn on or off installation of each modular ++library. ++ ++Eventually, we hope that most of Boost's libraries will be modular, to ++make it easier for users to install the subset of Boost that they are ++interested in. Many "core" libraries, on which most users and many ++other libraries depend, may remain in the core Boost distribution and ++will not be modularized. Even then, modularizing Boost is an ++evolutionary process, and it is best to work on modularizing libraries ++on which no other libraries depend (first) and then libraries on which ++other modularized libraries depend, moving from the more peripheral ++libraries (that no other libraries depend on) toward the core ++libraries. ++ ++Layout of a modular library ++--------------------------- ++ ++A modular library has a similar layout to non-modular libraries. The ++main difference is in the handling of include files, which are stored ++within the library's directory in ``libs/libname/include`` rather ++than in the main "boost" include directory. A modular library will ++typically have the following subdirectories:: ++ ++ libs/libname - Main library directory ++ include/ - Library headers. Since most Boost headers go into boost/, the actual library headers will be in the subdirectory include/boost (or its subdirectoiries) ++ src/ - Source files for compiled library binaries (if any) ++ test/ - Regression tests ++ example/ - Example programs, libraries, and applications ++ doc/ - Documentation ++ ++ ++Throughout this document, we will use the Filesystem library as an ++example of a modular library. Please refer to the contents of ++``libs/filesystem`` to see a fully-working modular library's ++description. ++ ++.. Restructuring the include directory ++.. ----------------------------------- ++.. ++.. For most Boost libraries, the only changes needed to the directory ++.. structure is to introduce the include directory. To do so, create an ++.. empty directories ``include`` and then ``include/boost`` in ++.. ``libs/libname``. Then, add these two new directories to ++.. Subversion. If you're using the command-line Subversion, you can do ++.. this with the following command run from ``libs/libname``:: ++.. ++.. svn add include ++.. ++.. Next, we need to identify each of the include files that are part of ++.. this library (but *not* part of libraries that it depends on) and move ++.. each of these libraries from the main Boost include directory into our ++.. library-specific include directory. We handle library-specific ++.. subdirectories of the Boost include directories (e.g., ++.. ``boost/filesystem``) slightly differently from individual headers ++.. (e.g., ``boost/shared_ptr.hpp``): ++.. ++.. .. warning:: Don't Do This! This doc is a placeholder. ++.. ++.. Library-specific include directories are handled by ++.. [http://svnbook.red-bean.com/en/1.1/ch07s04.html Subversion ++.. externals]. To move the directory ``boost/filesystem``, for example, ++.. one should first delete ``boost/filesystem`` entirely from the main ++.. Boost include directory. With the command-line Subversion, this can be ++.. done by changing into the top-level ``boost`` include directory (e.g., ++.. ``$BOOST/boost``) and running:: ++.. ++.. svn rm filesystem ++.. ++.. Next, change into the include directory within the library-specific ++.. directory, e.g., ``libs/filesystem/include``. Add a new Subversion ++.. ``svn:externals`` property to this directory that references the ++.. corresponding include directory from the main Boost directory ++.. tree. For example, we want our ``filesystem`` directory to point at ++.. ``branches/release/boost/filesystem``. This way, our modularized ++.. version of the library automatically picks up fixes from the main ++.. release branch. The ``svn:externals`` property contains one or more ++.. lines corresponding to external definitions. Each line contains the ++.. local directory name (e.g., `filesystem`) followed by a space and then ++.. the Subversion directory that this directory will come from, e.g., ++.. https://svn.boost.org/svn/branches/release/boost/filesystem. For ++.. example ++.. ++.. filesystem https://svn.boost.org/svn/boost/branches/release/boost/filesystem ++.. ++.. The ``svn:externals`` property with this value must be attached to the ++.. library-specific ``boost`` subdirectory, because each line is a ++.. subdirectory within ``boost``. Using the command-line Subversion client, ++.. this can be done with:: ++.. ++.. svn propset svn:externals "filesystem https://svn.boost.org/svn/boost/branches/release/boost/filesystem" boost ++.. ++.. Note that, to see the actual changes this involves, you will ++.. need to commit all of your changes to the Subversion repository and ++.. then execute an update operation. ++.. ++.. Individual headers are handled by moving the headers from the main ++.. Boost include directory into the library-specific include ++.. directory. This is effectively just a rename operation, e.g., to ++.. rename `boost/shared_ptr.hpp` to ++.. `libs/smart_ptr/include/boost/shared_ptr.hpp`. To perform this rename ++.. operation via the command-line Subversion client, change to the ++.. top-level Boost directory and execute :: ++.. ++.. svn move boost/shared_ptr.hpp libs/smart_ptr/include/boost/ ++.. ++.. Once all of the headers have been moved and the changes have been ++.. committed, there should be no remaining headers in the main Boost ++.. include directory. ++ ++Informing CMake that the library is modular ++------------------------------------------- ++ ++The CMake build system needs to know that the layout of the Boost ++library follows the rules of a modular library, which also instructs ++it to add the appropriate include paths when compiling itself and any ++of its dependencies. To label the library as modular, edit the ++``CMakeLists.txt`` file contained in the library's subdirectory (e.g., ++``libs/filesystem/CMakeLists.txt``, and add the argument ``MODULAR`` to ++the use of ``boost_library_project``). After ++this change, Filesystem library's ``CMakeLists.txt`` looks like this:: ++ ++ ++ boost_library_project( ++ Filesystem ++ SRCDIRS src ++ TESTDIRS test ++ MODULAR ++ DESCRIPTION "Provides portable facilities to query and manipulate paths, files, and directories." ++ AUTHORS "Beman Dawes " ++ ) ++ ++If the library you're modularizing does not have ``DESCRIPTION``, ++``AUTHORS``, or ``MAINTAINERS`` arguments, please add them! Short library ++descriptions are available at http://www.boost.org/doc/ along with ++author information; additional maintainer information can be found in ++http://svn.boost.org/svn/boost/trunk/libs/maintainers.txt. ++ ++Library dependencies ++-------------------- ++ ++Each modular library must declare the libraries on which it ++depends. This declaration is provided by the file ``module.cmake`` ++within the library's directory, and uses the ``boost_modular`` command ++to explicitly declare dependencies via its ``DEPENDS`` argument. The ++contents on the Filesystem library's ``libs/filesystem/module.cmake`` ++follow:: ++ ++ boost_module(Filesystem DEPENDS system) ++ ++The first argument to ``boost_module`` is the name of the library ++we're description. The arguments following ``DEPENDS`` (there may be ++more than one!) are the names of the libraries on which this library ++depends. Those libraries may or may not be modular yet: it does not ++matter. Thus, the Filesystem library depends on the System library. If ++the System library were not available for some reason (say, the user ++forgot to include it in the subset of Boost she downloaded), the ++Filesystem library would not attempt to build. ++ ++Testing the modular library ++--------------------------- ++ ++Once a library has been modularized, it is important to build the ++library and all of the regression tests, including the regression ++tests for other libraries (that might depend on the modularized ++library). Follow the instructors for [wiki:CMakeTesting building and ++running the regression tests]. Most of the failures that will crop up ++from this exercise will come in the form of "include file not found" ++messages due to missing dependency information. When this happens, add ++the appropriate dependencies to ``module.cmake`` and try again. The ++result is well worth it! +Binary files boost_1_44_0/tools/build/CMake/docs/source/WindowsInstaller.png and boost-1.44.0-cmake/tools/build/CMake/docs/source/WindowsInstaller.png differ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/BZip2.cmake boost-1.44.0-cmake/tools/build/CMake/externals/BZip2.cmake +--- boost_1_44_0/tools/build/CMake/externals/BZip2.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/BZip2.cmake 2010-08-22 00:04:46.018052387 +0200 +@@ -0,0 +1,11 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++set(BZip2_FIND_QUIETLY TRUE) ++find_package(BZip2) ++boost_external_report(BZip2 INCLUDE_DIR DEFINITIONS LIBRARIES) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/Doxygen.cmake boost-1.44.0-cmake/tools/build/CMake/externals/Doxygen.cmake +--- boost_1_44_0/tools/build/CMake/externals/Doxygen.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/Doxygen.cmake 2010-08-22 00:04:45.983854450 +0200 +@@ -0,0 +1,13 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++set(Doxygen_FIND_QUIETLY TRUE) ++ ++# Try to find the Expat library ++find_package(Doxygen) ++ ++boost_external_report(Doxygen EXECUTABLE DOT_FOUND DOT_EXECUTABLE DOT_PATH) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/Expat.cmake boost-1.44.0-cmake/tools/build/CMake/externals/Expat.cmake +--- boost_1_44_0/tools/build/CMake/externals/Expat.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/Expat.cmake 2010-08-22 00:04:46.018052387 +0200 +@@ -0,0 +1,13 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++set(EXPAT_FIND_QUIETLY TRUE) ++ ++# Try to find the Expat library ++find_package(EXPAT) ++ ++boost_external_report(Expat INCLUDE_DIR LIBRARIES) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/ICU.cmake boost-1.44.0-cmake/tools/build/CMake/externals/ICU.cmake +--- boost_1_44_0/tools/build/CMake/externals/ICU.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/ICU.cmake 2010-08-22 00:04:45.977979417 +0200 +@@ -0,0 +1,12 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++set(ICU_FIND_QUIETLY TRUE) ++find_package(ICU) ++ ++boost_external_report(ICU INCLUDE_DIRS LIBRARIES I18N_LIBRARIES ) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/MPI.cmake boost-1.44.0-cmake/tools/build/CMake/externals/MPI.cmake +--- boost_1_44_0/tools/build/CMake/externals/MPI.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/MPI.cmake 2010-08-22 00:04:46.006856099 +0200 +@@ -0,0 +1,11 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++set(MPI_FIND_QUIETLY TRUE) ++find_package(MPI) ++ ++boost_external_report(MPI INCLUDE_PATH COMPILE_FLAGS LINK_FLAGS LIBRARIES) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp boost-1.44.0-cmake/tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp +--- boost_1_44_0/tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/Python/valgrind-python-2.4.6.supp 2010-08-22 00:04:46.035868602 +0200 +@@ -0,0 +1,228 @@ ++# ++# This is a valgrind suppression file that should be used when using valgrind. ++# ++# Here's an example of running valgrind: ++# ++# cd python/dist/src ++# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \ ++# ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network ++# ++# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER ++# to use the preferred suppressions with Py_ADDRESS_IN_RANGE. ++# ++# If you do not want to recompile Python, you can uncomment ++# suppressions for PyObject_Free and PyObject_Realloc. ++# ++# See Misc/README.valgrind for more information. ++ ++# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Addr4 ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Value4 ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++{ ++ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value ++ Memcheck:Cond ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Addr4 ++ fun:PyObject_Free ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Value4 ++ fun:PyObject_Free ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 8 ++ Memcheck:Value8 ++ fun:PyObject_Free ++} ++ ++{ ++ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value ++ Memcheck:Cond ++ fun:PyObject_Free ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Addr4 ++ fun:PyObject_Realloc ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Value4 ++ fun:PyObject_Realloc ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 8 ++ Memcheck:Value8 ++ fun:PyObject_Realloc ++} ++ ++{ ++ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value ++ Memcheck:Cond ++ fun:PyObject_Realloc ++} ++ ++### ++### All the suppressions below are for errors that occur within libraries ++### that Python uses. The problems to not appear to be related to Python's ++### use of the libraries. ++### ++{ ++ GDBM problems, see test_gdbm ++ Memcheck:Param ++ write(buf) ++ fun:write ++ fun:gdbm_open ++ ++} ++ ++### ++### These occur from somewhere within the SSL, when running ++### test_socket_sll. They are too general to leave on by default. ++### ++###{ ++### somewhere in SSL stuff ++### Memcheck:Cond ++### fun:memset ++###} ++###{ ++### somewhere in SSL stuff ++### Memcheck:Value4 ++### fun:memset ++###} ++### ++###{ ++### somewhere in SSL stuff ++### Memcheck:Cond ++### fun:MD5_Update ++###} ++### ++###{ ++### somewhere in SSL stuff ++### Memcheck:Value4 ++### fun:MD5_Update ++###} ++ ++# ++# All of these problems come from using test_socket_ssl ++# ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_bin2bn ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_num_bits_word ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:BN_num_bits_word ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_mod_exp_mont_word ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_mod_exp_mont ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Param ++ write(buf) ++ fun:write ++ obj:/usr/lib/libcrypto.so.0.9.7 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:RSA_verify ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:RSA_verify ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:DES_set_key_unchecked ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:DES_encrypt2 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ obj:/usr/lib/libssl.so.0.9.7 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ obj:/usr/lib/libssl.so.0.9.7 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BUF_MEM_grow_clean ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:memcpy ++ fun:ssl3_read_bytes ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:SHA1_Update ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:SHA1_Update ++} ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp boost-1.44.0-cmake/tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp +--- boost_1_44_0/tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/Python/valgrind-python-2.6.4.supp 2010-08-22 00:04:46.023855076 +0200 +@@ -0,0 +1,403 @@ ++# ++# This is a valgrind suppression file that should be used when using valgrind. ++# ++# Here's an example of running valgrind: ++# ++# cd python/dist/src ++# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \ ++# ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network ++# ++# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER ++# to use the preferred suppressions with Py_ADDRESS_IN_RANGE. ++# ++# If you do not want to recompile Python, you can uncomment ++# suppressions for PyObject_Free and PyObject_Realloc. ++# ++# See Misc/README.valgrind for more information. ++ ++# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Addr4 ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Value4 ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64) ++ Memcheck:Value8 ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++{ ++ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value ++ Memcheck:Cond ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++# ++# Leaks (including possible leaks) ++# Hmmm, I wonder if this masks some real leaks. I think it does. ++# Will need to fix that. ++# ++ ++{ ++ Suppress leaking the GIL. Happens once per process, see comment in ceval.c. ++ Memcheck:Leak ++ fun:malloc ++ fun:PyThread_allocate_lock ++ fun:PyEval_InitThreads ++} ++ ++{ ++ Suppress leaking the GIL after a fork. ++ Memcheck:Leak ++ fun:malloc ++ fun:PyThread_allocate_lock ++ fun:PyEval_ReInitThreads ++} ++ ++{ ++ Suppress leaking the autoTLSkey. This looks like it shouldn't leak though. ++ Memcheck:Leak ++ fun:malloc ++ fun:PyThread_create_key ++ fun:_PyGILState_Init ++ fun:Py_InitializeEx ++ fun:Py_Main ++} ++ ++{ ++ Hmmm, is this a real leak or like the GIL? ++ Memcheck:Leak ++ fun:malloc ++ fun:PyThread_ReInitTLS ++} ++ ++{ ++ Handle PyMalloc confusing valgrind (possibly leaked) ++ Memcheck:Leak ++ fun:realloc ++ fun:_PyObject_GC_Resize ++ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING ++} ++ ++{ ++ Handle PyMalloc confusing valgrind (possibly leaked) ++ Memcheck:Leak ++ fun:malloc ++ fun:_PyObject_GC_New ++ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING ++} ++ ++{ ++ Handle PyMalloc confusing valgrind (possibly leaked) ++ Memcheck:Leak ++ fun:malloc ++ fun:_PyObject_GC_NewVar ++ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING ++} ++ ++# ++# Non-python specific leaks ++# ++ ++{ ++ Handle pthread issue (possibly leaked) ++ Memcheck:Leak ++ fun:calloc ++ fun:allocate_dtv ++ fun:_dl_allocate_tls_storage ++ fun:_dl_allocate_tls ++} ++ ++{ ++ Handle pthread issue (possibly leaked) ++ Memcheck:Leak ++ fun:memalign ++ fun:_dl_allocate_tls_storage ++ fun:_dl_allocate_tls ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Addr4 ++ fun:PyObject_Free ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Value4 ++ fun:PyObject_Free ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 8 ++ Memcheck:Value8 ++ fun:PyObject_Free ++} ++ ++{ ++ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value ++ Memcheck:Cond ++ fun:PyObject_Free ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Addr4 ++ fun:PyObject_Realloc ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Value4 ++ fun:PyObject_Realloc ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 8 ++ Memcheck:Value8 ++ fun:PyObject_Realloc ++} ++ ++{ ++ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value ++ Memcheck:Cond ++ fun:PyObject_Realloc ++} ++ ++### ++### All the suppressions below are for errors that occur within libraries ++### that Python uses. The problems to not appear to be related to Python's ++### use of the libraries. ++### ++ ++{ ++ Generic ubuntu ld problems ++ Memcheck:Addr8 ++ obj:/lib/ld-2.4.so ++ obj:/lib/ld-2.4.so ++ obj:/lib/ld-2.4.so ++ obj:/lib/ld-2.4.so ++} ++ ++{ ++ Generic gentoo ld problems ++ Memcheck:Cond ++ obj:/lib/ld-2.3.4.so ++ obj:/lib/ld-2.3.4.so ++ obj:/lib/ld-2.3.4.so ++ obj:/lib/ld-2.3.4.so ++} ++ ++{ ++ DBM problems, see test_dbm ++ Memcheck:Param ++ write(buf) ++ fun:write ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ fun:dbm_close ++} ++ ++{ ++ DBM problems, see test_dbm ++ Memcheck:Value8 ++ fun:memmove ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ fun:dbm_store ++ fun:dbm_ass_sub ++} ++ ++{ ++ DBM problems, see test_dbm ++ Memcheck:Cond ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ fun:dbm_store ++ fun:dbm_ass_sub ++} ++ ++{ ++ DBM problems, see test_dbm ++ Memcheck:Cond ++ fun:memmove ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ fun:dbm_store ++ fun:dbm_ass_sub ++} ++ ++{ ++ GDBM problems, see test_gdbm ++ Memcheck:Param ++ write(buf) ++ fun:write ++ fun:gdbm_open ++ ++} ++ ++{ ++ ZLIB problems, see test_gzip ++ Memcheck:Cond ++ obj:/lib/libz.so.1.2.3 ++ obj:/lib/libz.so.1.2.3 ++ fun:deflate ++} ++ ++{ ++ Avoid problems w/readline doing a putenv and leaking on exit ++ Memcheck:Leak ++ fun:malloc ++ fun:xmalloc ++ fun:sh_set_lines_and_columns ++ fun:_rl_get_screen_size ++ fun:_rl_init_terminal_io ++ obj:/lib/libreadline.so.4.3 ++ fun:rl_initialize ++} ++ ++### ++### These occur from somewhere within the SSL, when running ++### test_socket_sll. They are too general to leave on by default. ++### ++###{ ++### somewhere in SSL stuff ++### Memcheck:Cond ++### fun:memset ++###} ++###{ ++### somewhere in SSL stuff ++### Memcheck:Value4 ++### fun:memset ++###} ++### ++###{ ++### somewhere in SSL stuff ++### Memcheck:Cond ++### fun:MD5_Update ++###} ++### ++###{ ++### somewhere in SSL stuff ++### Memcheck:Value4 ++### fun:MD5_Update ++###} ++ ++# ++# All of these problems come from using test_socket_ssl ++# ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_bin2bn ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_num_bits_word ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:BN_num_bits_word ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_mod_exp_mont_word ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_mod_exp_mont ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Param ++ write(buf) ++ fun:write ++ obj:/usr/lib/libcrypto.so.0.9.7 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:RSA_verify ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:RSA_verify ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:DES_set_key_unchecked ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:DES_encrypt2 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ obj:/usr/lib/libssl.so.0.9.7 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ obj:/usr/lib/libssl.so.0.9.7 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BUF_MEM_grow_clean ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:memcpy ++ fun:ssl3_read_bytes ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:SHA1_Update ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:SHA1_Update ++} ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp boost-1.44.0-cmake/tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp +--- boost_1_44_0/tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/Python/valgrind-python-3.1.1.supp 2010-08-22 00:04:46.022854246 +0200 +@@ -0,0 +1,391 @@ ++# ++# This is a valgrind suppression file that should be used when using valgrind. ++# ++# Here's an example of running valgrind: ++# ++# cd python/dist/src ++# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \ ++# ./python -E ./Lib/test/regrtest.py -u gui,network ++# ++# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER ++# to use the preferred suppressions with Py_ADDRESS_IN_RANGE. ++# ++# If you do not want to recompile Python, you can uncomment ++# suppressions for PyObject_Free and PyObject_Realloc. ++# ++# See Misc/README.valgrind for more information. ++ ++# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Addr4 ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 4 ++ Memcheck:Value4 ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++{ ++ ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64) ++ Memcheck:Value8 ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++{ ++ ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value ++ Memcheck:Cond ++ fun:Py_ADDRESS_IN_RANGE ++} ++ ++# ++# Leaks (including possible leaks) ++# Hmmm, I wonder if this masks some real leaks. I think it does. ++# Will need to fix that. ++# ++ ++{ ++ Suppress leaking the GIL. Happens once per process, see comment in ceval.c. ++ Memcheck:Leak ++ fun:malloc ++ fun:PyThread_allocate_lock ++ fun:PyEval_InitThreads ++} ++ ++{ ++ Suppress leaking the GIL after a fork. ++ Memcheck:Leak ++ fun:malloc ++ fun:PyThread_allocate_lock ++ fun:PyEval_ReInitThreads ++} ++ ++{ ++ Suppress leaking the autoTLSkey. This looks like it shouldn't leak though. ++ Memcheck:Leak ++ fun:malloc ++ fun:PyThread_create_key ++ fun:_PyGILState_Init ++ fun:Py_InitializeEx ++ fun:Py_Main ++} ++ ++{ ++ Hmmm, is this a real leak or like the GIL? ++ Memcheck:Leak ++ fun:malloc ++ fun:PyThread_ReInitTLS ++} ++ ++{ ++ Handle PyMalloc confusing valgrind (possibly leaked) ++ Memcheck:Leak ++ fun:realloc ++ fun:_PyObject_GC_Resize ++ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING ++} ++ ++{ ++ Handle PyMalloc confusing valgrind (possibly leaked) ++ Memcheck:Leak ++ fun:malloc ++ fun:_PyObject_GC_New ++ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING ++} ++ ++{ ++ Handle PyMalloc confusing valgrind (possibly leaked) ++ Memcheck:Leak ++ fun:malloc ++ fun:_PyObject_GC_NewVar ++ fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING ++} ++ ++# ++# Non-python specific leaks ++# ++ ++{ ++ Handle pthread issue (possibly leaked) ++ Memcheck:Leak ++ fun:calloc ++ fun:allocate_dtv ++ fun:_dl_allocate_tls_storage ++ fun:_dl_allocate_tls ++} ++ ++{ ++ Handle pthread issue (possibly leaked) ++ Memcheck:Leak ++ fun:memalign ++ fun:_dl_allocate_tls_storage ++ fun:_dl_allocate_tls ++} ++ ++###{ ++### ADDRESS_IN_RANGE/Invalid read of size 4 ++### Memcheck:Addr4 ++### fun:PyObject_Free ++###} ++### ++###{ ++### ADDRESS_IN_RANGE/Invalid read of size 4 ++### Memcheck:Value4 ++### fun:PyObject_Free ++###} ++### ++###{ ++### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value ++### Memcheck:Cond ++### fun:PyObject_Free ++###} ++ ++###{ ++### ADDRESS_IN_RANGE/Invalid read of size 4 ++### Memcheck:Addr4 ++### fun:PyObject_Realloc ++###} ++### ++###{ ++### ADDRESS_IN_RANGE/Invalid read of size 4 ++### Memcheck:Value4 ++### fun:PyObject_Realloc ++###} ++### ++###{ ++### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value ++### Memcheck:Cond ++### fun:PyObject_Realloc ++###} ++ ++### ++### All the suppressions below are for errors that occur within libraries ++### that Python uses. The problems to not appear to be related to Python's ++### use of the libraries. ++### ++ ++{ ++ Generic ubuntu ld problems ++ Memcheck:Addr8 ++ obj:/lib/ld-2.4.so ++ obj:/lib/ld-2.4.so ++ obj:/lib/ld-2.4.so ++ obj:/lib/ld-2.4.so ++} ++ ++{ ++ Generic gentoo ld problems ++ Memcheck:Cond ++ obj:/lib/ld-2.3.4.so ++ obj:/lib/ld-2.3.4.so ++ obj:/lib/ld-2.3.4.so ++ obj:/lib/ld-2.3.4.so ++} ++ ++{ ++ DBM problems, see test_dbm ++ Memcheck:Param ++ write(buf) ++ fun:write ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ fun:dbm_close ++} ++ ++{ ++ DBM problems, see test_dbm ++ Memcheck:Value8 ++ fun:memmove ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ fun:dbm_store ++ fun:dbm_ass_sub ++} ++ ++{ ++ DBM problems, see test_dbm ++ Memcheck:Cond ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ fun:dbm_store ++ fun:dbm_ass_sub ++} ++ ++{ ++ DBM problems, see test_dbm ++ Memcheck:Cond ++ fun:memmove ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ obj:/usr/lib/libdb1.so.2 ++ fun:dbm_store ++ fun:dbm_ass_sub ++} ++ ++{ ++ GDBM problems, see test_gdbm ++ Memcheck:Param ++ write(buf) ++ fun:write ++ fun:gdbm_open ++ ++} ++ ++{ ++ ZLIB problems, see test_gzip ++ Memcheck:Cond ++ obj:/lib/libz.so.1.2.3 ++ obj:/lib/libz.so.1.2.3 ++ fun:deflate ++} ++ ++{ ++ Avoid problems w/readline doing a putenv and leaking on exit ++ Memcheck:Leak ++ fun:malloc ++ fun:xmalloc ++ fun:sh_set_lines_and_columns ++ fun:_rl_get_screen_size ++ fun:_rl_init_terminal_io ++ obj:/lib/libreadline.so.4.3 ++ fun:rl_initialize ++} ++ ++### ++### These occur from somewhere within the SSL, when running ++### test_socket_sll. They are too general to leave on by default. ++### ++###{ ++### somewhere in SSL stuff ++### Memcheck:Cond ++### fun:memset ++###} ++###{ ++### somewhere in SSL stuff ++### Memcheck:Value4 ++### fun:memset ++###} ++### ++###{ ++### somewhere in SSL stuff ++### Memcheck:Cond ++### fun:MD5_Update ++###} ++### ++###{ ++### somewhere in SSL stuff ++### Memcheck:Value4 ++### fun:MD5_Update ++###} ++ ++# ++# All of these problems come from using test_socket_ssl ++# ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_bin2bn ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_num_bits_word ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:BN_num_bits_word ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_mod_exp_mont_word ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BN_mod_exp_mont ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Param ++ write(buf) ++ fun:write ++ obj:/usr/lib/libcrypto.so.0.9.7 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:RSA_verify ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:RSA_verify ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:DES_set_key_unchecked ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:DES_encrypt2 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ obj:/usr/lib/libssl.so.0.9.7 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ obj:/usr/lib/libssl.so.0.9.7 ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:BUF_MEM_grow_clean ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:memcpy ++ fun:ssl3_read_bytes ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Cond ++ fun:SHA1_Update ++} ++ ++{ ++ from test_socket_ssl ++ Memcheck:Value4 ++ fun:SHA1_Update ++} ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/Python.cmake boost-1.44.0-cmake/tools/build/CMake/externals/Python.cmake +--- boost_1_44_0/tools/build/CMake/externals/Python.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/Python.cmake 2010-08-22 00:04:46.053854636 +0200 +@@ -0,0 +1,161 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++ ++ ++# ++# Python interpreter ++# ++set(ENV_PYTHON_EXECUTABLE $ENV{PYTHON_EXECUTABLE}) ++ ++if ((NOT PYTHONINTERP_FOUND) AND ENV_PYTHON_EXECUTABLE) ++ colormsg(YELLOW "Testing PYTHON_EXECUTABLE from environment") ++ find_program(PYTHON_EXECUTABLE ${ENV_PYTHON_EXECUTABLE}) ++ if (NOT PYTHON_EXECUTABLE) ++ message(FATAL_ERROR "Environment supplied PYTHON_EXECUTABLE=${ENV_PYTHON_EXECUTABLE} but this file does not exist or is not a program.") ++ endif() ++ set(PYTHONINTERP_FOUND TRUE ++ CACHE BOOL "Python interpreter found") ++ set(PYTHON_EXECUTABLE ++ ${ENV_PYTHON_EXECUTABLE} CACHE FILEPATH "Python interpreter found") ++ message(STATUS "Ok, using ${PYTHON_EXECUTABLE}") ++else() ++ set(PythonInterp_FIND_QUIETLY TRUE) ++ find_package(PythonInterp) ++endif() ++ ++# ++# Python libs ++# ++set(ENV_PYTHON_LIBRARIES $ENV{PYTHON_LIBRARIES}) ++ ++if ((NOT PYTHON_LIBRARIES) AND ENV_PYTHON_LIBRARIES) ++ colormsg(YELLOW "Testing PYTHON_LIBRARIES from environment") ++ get_filename_component(pythonlib_searchpath ${ENV_PYTHON_LIBRARIES} PATH) ++ get_filename_component(pythonlib_filename ${ENV_PYTHON_LIBRARIES} NAME) ++ find_library(PYTHON_LIBRARIES ${pythonlib_filename} ++ PATHS ${pythonlib_searchpath} ++ NO_DEFAULT_PATH) ++ ++ if (NOT PYTHON_LIBRARIES) ++ message(FATAL_ERROR "Environment supplied PYTHON_LIBRARIES=${ENV_PYTHON_LIBRARIES} but that isn't a library.") ++ endif() ++ message(STATUS "Ok, using ${PYTHON_LIBRARIES}.") ++endif() ++ ++set(ENV_PYTHON_DEBUG_LIBRARIES $ENV{PYTHON_DEBUG_LIBRARIES}) ++if ((NOT PYTHON_DEBUG_LIBRARIES) AND ENV_PYTHON_DEBUG_LIBRARIES) ++ # ++ # Python debug libraries ++ # ++ if(ENV_PYTHON_DEBUG_LIBRARIES) ++ colormsg(YELLOW "Testing PYTHON_DEBUG_LIBRARIES from environment") ++ get_filename_component(pythonlib_searchpath ++ ${ENV_PYTHON_DEBUG_LIBRARIES} PATH) ++ get_filename_component(pythonlib_filename ++ ${ENV_PYTHON_DEBUG_LIBRARIES} NAME) ++ find_library(PYTHON_DEBUG_LIBRARIES ${pythonlib_filename} ++ PATHS ${pythonlib_searchpath} ++ NO_DEFAULT_PATH) ++ ++ if (NOT PYTHON_DEBUG_LIBRARIES) ++ message(FATAL_ERROR "Environment supplied PYTHON_DEBUG_LIBRARIES=${ENV_PYTHON_DEBUG_LIBRARIES} but it isn't a library.") ++ endif() ++ message(STATUS "Ok, using ${PYTHON_DEBUG_LIBRARIES}") ++ else() ++ message(STATUS "Skipping optional PYTHON_DEBUG_LIBRARIES: not set.") ++ endif() ++elseif(NOT PYTHON_DEBUG_LIBRARIES) ++ set(PYTHON_DEBUG_LIBRARIES PYTHON_DEBUG_LIBRARIES-NOTFOUND ++ CACHE FILEPATH "Python debug library path") ++endif() ++ ++# ++# Python includes ++# ++set(ENV_PYTHON_INCLUDE_PATH $ENV{PYTHON_INCLUDE_PATH}) ++if((NOT PYTHON_INCLUDE_PATH) AND ENV_PYTHON_INCLUDE_PATH) ++ if(ENV_PYTHON_INCLUDE_PATH) ++ colormsg(YELLOW "Testing PYTHON_INCLUDE_PATH from environment") ++ find_path(PYTHON_INCLUDE_PATH ++ Python.h ++ PATHS ${ENV_PYTHON_INCLUDE_PATH} ++ NO_DEFAULT_PATH) ++ ++ if(PYTHON_INCLUDE_PATH) ++ set(PYTHON_INCLUDE_PATH ${ENV_PYTHON_INCLUDE_PATH}) ++ message(STATUS "Ok, using ${PYTHON_INCLUDE_PATH}") ++ else() ++ message(FATAL_ERROR "Environment supplied PYTHON_INCLUDE_PATH=${ENV_PYTHON_INCLUDE_PATH} but this directory does not contain file Python.h") ++ endif() ++ endif() ++endif() ++ ++if (PYTHON_INCLUDE_PATH AND PYTHON_LIBRARIES) ++ set(PYTHONLIBS_FOUND TRUE CACHE BOOL "Python libraries found, don't redetect at configure time") ++ ++ # Determine extra libraries we need to link against to build Python ++ # extension modules. ++ if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") ++ ++ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "dl") ++ ++ if(CMAKE_COMPILER_IS_GNUCXX) ++ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "rt") ++ endif(CMAKE_COMPILER_IS_GNUCXX) ++ ++ elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSD") ++ ++ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread") ++ ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "DragonFly") ++ ++ # DragonFly is a variant of FreeBSD ++ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread") ++ ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "OSF") ++ ++ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread" "dl") ++ ++ if(CMAKE_COMPILER_IS_GNUCXX) ++ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "rt") ++ endif(CMAKE_COMPILER_IS_GNUCXX) ++ ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX") ++ ++ # No options necessary for QNX ++ ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") ++ ++ # No options necessary for Mac OS X ++ ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") ++ ++ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "rt") ++ ++ elseif(UNIX) ++ ++ # Assume -pthread and -ldl on all other variants ++ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "pthread" "dl") ++ if(CMAKE_COMPILER_IS_GNUCXX) ++ set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} "util") ++ endif(CMAKE_COMPILER_IS_GNUCXX) ++ ++ endif(CMAKE_SYSTEM_NAME STREQUAL "SunOS") ++ ++ ++elseif(NOT PYTHONLIBS_FOUND) ++ set(PythonLibs_FIND_QUIETLY TRUE) ++ find_package(PythonLibs) ++endif() ++ ++if(PYTHONINTERP_FOUND AND PYTHONLIBS_FOUND) ++ set(PYTHON_FOUND TRUE) ++else() ++ set(PYTHON_FOUND FALSE) ++endif() ++ ++boost_external_report(Python INCLUDE_PATH EXECUTABLE LIBRARIES DEBUG_LIBRARIES) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/Valgrind.cmake boost-1.44.0-cmake/tools/build/CMake/externals/Valgrind.cmake +--- boost_1_44_0/tools/build/CMake/externals/Valgrind.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/Valgrind.cmake 2010-08-22 00:04:46.051488398 +0200 +@@ -0,0 +1,18 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++ ++# Find xsltproc to transform XML documents via XSLT ++find_program(VALGRIND_EXECUTABLE valgrind DOC "Valgrind executable") ++ ++set(VALGRIND_FLAGS "--tool=memcheck" CACHE STRING ++ "Flags to pass to xsltproc to transform XML documents") ++if(VALGRIND_EXECUTABLE) ++ set(VALGRIND_FOUND TRUE CACHE BOOL "Valgrind found" FORCE) ++endif() ++ ++boost_external_report(Valgrind EXECUTABLE FLAGS) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/Xsltproc.cmake boost-1.44.0-cmake/tools/build/CMake/externals/Xsltproc.cmake +--- boost_1_44_0/tools/build/CMake/externals/Xsltproc.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/Xsltproc.cmake 2010-08-22 00:04:46.052854541 +0200 +@@ -0,0 +1,18 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++ ++# Find xsltproc to transform XML documents via XSLT ++find_program(XSLTPROC_EXECUTABLE xsltproc DOC "xsltproc transforms XML via XSLT") ++ ++set(XSLTPROC_FLAGS "--xinclude" CACHE STRING ++ "Flags to pass to xsltproc to transform XML documents") ++if(XSLTPROC_EXECUTABLE) ++ set(XSLTPROC_FOUND TRUE) ++endif() ++ ++boost_external_report(Xsltproc EXECUTABLE FLAGS) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/externals/ZLib.cmake boost-1.44.0-cmake/tools/build/CMake/externals/ZLib.cmake +--- boost_1_44_0/tools/build/CMake/externals/ZLib.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/externals/ZLib.cmake 2010-08-22 00:04:46.040854074 +0200 +@@ -0,0 +1,20 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++if(ZLIB_SOURCE) ++ message(STATUS "") ++ colormsg(HIRED "ZLIB_SOURCE is not supported by Boost.CMake") ++ colormsg(RED "Install zlib and let cmake detect it") ++ colormsg(RED "or help cmake out by setting the relevant variables") ++endif() ++ ++set(ZLIB_FIND_QUIETLY TRUE) ++ ++find_package(ZLIB) ++ ++boost_external_report(ZLib INCLUDE_DIR LIBRARIES) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/FindICU.cmake boost-1.44.0-cmake/tools/build/CMake/FindICU.cmake +--- boost_1_44_0/tools/build/CMake/FindICU.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/FindICU.cmake 2010-08-22 00:04:46.082334239 +0200 +@@ -0,0 +1,51 @@ ++# Finds the International Components for Unicode (ICU) Library ++# ++# ICU_FOUND - True if ICU found. ++# ICU_I18N_FOUND - True if ICU's internationalization library found. ++# ICU_INCLUDE_DIRS - Directory to include to get ICU headers ++# Note: always include ICU headers as, e.g., ++# unicode/utypes.h ++# ICU_LIBRARIES - Libraries to link against for the common ICU ++# ICU_I18N_LIBRARIES - Libraries to link against for ICU internationaliation ++# (note: in addition to ICU_LIBRARIES) ++ ++# Look for the header file. ++find_path( ++ ICU_INCLUDE_DIR ++ NAMES unicode/utypes.h ++ DOC "Include directory for the ICU library") ++mark_as_advanced(ICU_INCLUDE_DIR) ++ ++# Look for the library. ++find_library( ++ ICU_LIBRARY ++ NAMES icuuc cygicuuc cygicuuc32 ++ DOC "Libraries to link against for the common parts of ICU") ++mark_as_advanced(ICU_LIBRARY) ++ ++# Copy the results to the output variables. ++if(ICU_INCLUDE_DIR AND ICU_LIBRARY) ++ set(ICU_FOUND 1) ++ set(ICU_LIBRARIES ${ICU_LIBRARY}) ++ set(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR}) ++ ++ # Look for the ICU internationalization libraries ++ find_library( ++ ICU_I18N_LIBRARY ++ NAMES icuin icui18n cygicuin cygicuin32 ++ DOC "Libraries to link against for ICU internationalization") ++ mark_as_advanced(ICU_I18N_LIBRARY) ++ if (ICU_I18N_LIBRARY) ++ set(ICU_I18N_FOUND 1) ++ set(ICU_I18N_LIBRARIES ${ICU_I18N_LIBRARY}) ++ else (ICU_I18N_LIBRARY) ++ set(ICU_I18N_FOUND 0) ++ set(ICU_I18N_LIBRARIES) ++ endif (ICU_I18N_LIBRARY) ++else(ICU_INCLUDE_DIR AND ICU_LIBRARY) ++ set(ICU_FOUND 0) ++ set(ICU_I18N_FOUND 0) ++ set(ICU_LIBRARIES) ++ set(ICU_I18N_LIBRARIES) ++ set(ICU_INCLUDE_DIRS) ++endif(ICU_INCLUDE_DIR AND ICU_LIBRARY) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/install_me/BoostConfigAgnostic.cmake.in boost-1.44.0-cmake/tools/build/CMake/install_me/BoostConfigAgnostic.cmake.in +--- boost_1_44_0/tools/build/CMake/install_me/BoostConfigAgnostic.cmake.in 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/install_me/BoostConfigAgnostic.cmake.in 2010-08-22 00:04:46.092854613 +0200 +@@ -0,0 +1,19 @@ ++# ++# Copyright (C) Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++ ++# ++# This file is generated by cmake and installed to ++# BOOST_VERSIONED_CMAKE_FILES_DIR/BoostConfig.cmake ++# ++ ++get_filename_component(CWD ${CMAKE_CURRENT_LIST_FILE} PATH) ++include("@CMAKE_INSTALL_PREFIX@/share/boost-${Boost_VERSION}/cmake/BoostConfig.cmake") ++ ++ ++ ++ +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/install_me/BoostConfig.cmake.in boost-1.44.0-cmake/tools/build/CMake/install_me/BoostConfig.cmake.in +--- boost_1_44_0/tools/build/CMake/install_me/BoostConfig.cmake.in 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/install_me/BoostConfig.cmake.in 2010-08-22 00:04:46.093854473 +0200 +@@ -0,0 +1,89 @@ ++# ++# Copyright (C) Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++ ++# ++# This file is generated by cmake and installed to ++# BOOST_VERSIONED_CMAKE_FILES_DIR/Boost-@BOOST_VERSION@. ++# ++# when a users does a find_package(Boost ...) BoostConfigVersion.cmake ++# and BoostVersion.cmake will search for this file. ++# ++ ++# ++# Various variables ++# ++set(Boost_VERSION "@BOOST_VERSION@") ++set(Boost_INCLUDE_DIRS "${Boost_INCLUDE_DIR}") ++set(Boost_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/@BOOST_INCLUDE_INSTALL_DIR@" ++ CACHE FILEPATH "Boost include directory") ++set(Boost_LIBRARY_DIRS "@CMAKE_INSTALL_PREFIX@/@BOOST_LIB_INSTALL_DIR@") ++# ++# Include the imported targets ++# ++include("@CMAKE_INSTALL_PREFIX@/@BOOST_EXPORTS_INSTALL_DIR@/Boost.cmake") ++ ++# ++# Calculate target suffix from user variables ++# ++if (NOT DEFINED Boost_USE_MULTITHREADED) ++ set(Boost_USE_MULTITHREADED TRUE) ++endif() ++ ++ ++if (Boost_USE_MULTITHREADED) ++ set(mtflag "-mt") ++ set(mtdesc "multi-threaded") ++else() ++ set(mtflag "") ++ set(mtdesc "single-threaded") ++endif() ++ ++if (Boost_USE_STATIC) ++ set(staticflag "-static") ++ set(staticdesc "statically-linked") ++else() ++ set(staticflag "-shared") ++ set(staticdesc "dynamically-linked") ++endif() ++ ++set(Boost_LIBRARIES "") ++if (NOT Boost_FIND_COMPONENTS) ++ set(Boost_FIND_COMPONENTS "@BOOST_ALL_COMPONENTS@") ++endif() ++ ++foreach(component ${Boost_FIND_COMPONENTS}) ++ # ++ # Check that it is really a target ++ # ++ set(target boost_${component}${mtflag}${staticflag}) ++ get_target_property(p_optimized ${target} TYPE) ++ get_target_property(p_debug ${target}-debug TYPE) ++ ++ # If optimized and debug versions are installed, specify each ++ if (p_optimized MATCHES "_LIBRARY$" AND p_debug MATCHES "_LIBRARY$") ++ list(APPEND Boost_LIBRARIES "optimized;${target};debug;${target}-debug") ++ else() ++ # Otherwise use whatever is available ++ if (p_optimized MATCHES "_LIBRARY$") ++ list(APPEND Boost_LIBRARIES "${target}") ++ else() ++ if (p_debug MATCHES "_LIBRARY$") ++ list(APPEND Boost_LIBRARIES "${target}-debug") ++ else() ++ list(APPEND Boost_MISSING ${component}) ++ endif() ++ endif() ++ endif() ++ ++endforeach() ++ ++# Crude error handling (TODO: proper handling of REQUIRED etc) ++if (Boost_MISSING) ++ message(FATAL_ERROR "Boost components not found: ${Boost_MISSING}") ++endif() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/install_me/BoostConfigVersionAgnostic.cmake.in boost-1.44.0-cmake/tools/build/CMake/install_me/BoostConfigVersionAgnostic.cmake.in +--- boost_1_44_0/tools/build/CMake/install_me/BoostConfigVersionAgnostic.cmake.in 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/install_me/BoostConfigVersionAgnostic.cmake.in 2010-08-22 00:04:46.120854255 +0200 +@@ -0,0 +1,69 @@ ++# ++# Copyright (C) Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++# ++# Determine if we have a version of boost available that works ++# ++# Thanks Tronic for some sharp eyes. ++# ++get_filename_component(CWD ${CMAKE_CURRENT_LIST_FILE} PATH) ++ ++file(GLOB AVAILABLE_VERSIONFILES ++ RELATIVE ${CWD} ++ "@CMAKE_INSTALL_PREFIX@/share/boost-*/cmake/BoostConfig.cmake") ++ ++message("globbed: ${AVAILABLE_VERSIONFILES}") ++if (EXISTS "@CMAKE_INSTALL_PREFIX@/share/boost-${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}.${PACKAGE_FIND_VERSION_PATCH}/cmake/BoostConfig.cmake") ++ # ++ # Exact version ++ # ++ set(BOOST_FOUND TRUE) ++ set(PACKAGE_VERSION ${PACKAGE_FIND_VERSION}) ++ set(PACKAGE_VERSION_EXACT TRUE) ++ set(PACKAGE_VERSION_COMPATIBLE TRUE) ++ set(PACKAGE_VERSION_UNSUITABLE FALSE) ++ ++elseif(AVAILABLE_VERSIONFILES) ++ ++ # ++ # Find any version ++ # ++ list(SORT AVAILABLE_VERSIONFILES) ++ list(REVERSE AVAILABLE_VERSIONFILES) ++ list(GET AVAILABLE_VERSIONFILES 0 MOSTRECENT) ++ # ++ # Warning bugs: this assumes that there are no other x.yy.zz type ++ # numbers in your path ++ # ++ string(REGEX MATCH ++ "[0-9]+\\.[0-9]+\\.[0-9]+" ++ FOUNDVERSION ${MOSTRECENT}) ++ ++ message("FOUNDVERSION=${FOUNDVERSION}") ++ if(PACKAGE_FIND_VERSION) ++ if(${PACKAGE_FIND_VERSION} STRLESS ${FOUNDVERSION}) ++ # ++ # Okay, we have newer than requested ++ # ++ set(PACKAGE_VERSION ${FOUNDVERSION}) ++ set(PACKAGE_VERSION_EXACT FALSE) ++ set(PACKAGE_VERSION_COMPATIBLE TRUE) ++ set(PACKAGE_VERSION_UNSUITABLE FALSE) ++ else(${PACKAGE_FIND_VERSION} STRGREATER ${FOUNDVERSION}) ++ # ++ # Sorry, we only have older than requested ++ # ++ set(PACKAGE_VERSION ${FOUNDVERSION}) ++ set(PACKAGE_VERSION_EXACT FALSE) ++ set(PACKAGE_VERSION_COMPATIBLE FALSE) ++ set(PACKAGE_VERSION_UNSUITABLE TRUE) ++ endif() ++ else() ++ set(PACKAGE_VERSION ${FOUNDVERSION}) ++ endif() ++endif() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/install_me/BoostConfigVersion.cmake.in boost-1.44.0-cmake/tools/build/CMake/install_me/BoostConfigVersion.cmake.in +--- boost_1_44_0/tools/build/CMake/install_me/BoostConfigVersion.cmake.in 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/install_me/BoostConfigVersion.cmake.in 2010-08-22 00:04:46.092854613 +0200 +@@ -0,0 +1,22 @@ ++# ++# Copyright (C) Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++# ++# This file is generated by the Boost.CMake install. ++# It either matches exactly, or not at all. ++# ++if ("${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}.${PACKAGE_FIND_VERSION_PATCH}" STREQUAL "@BOOST_VERSION@") ++ # ++ # Exact version ++ # ++ set(BOOST_FOUND TRUE) ++ set(PACKAGE_VERSION "@BOOST_VERSION@") ++ set(PACKAGE_VERSION_EXACT TRUE) ++ set(PACKAGE_VERSION_COMPATIBLE TRUE) ++ set(PACKAGE_VERSION_UNSUITABLE FALSE) ++ ++endif() +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/install_me/Boost-thisversion.cmake.in boost-1.44.0-cmake/tools/build/CMake/install_me/Boost-thisversion.cmake.in +--- boost_1_44_0/tools/build/CMake/install_me/Boost-thisversion.cmake.in 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/install_me/Boost-thisversion.cmake.in 2010-08-22 00:04:46.120854255 +0200 +@@ -0,0 +1,75 @@ ++# ++# Copyright (C) Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++ ++# ++# This file is generated by cmake and installed to ++# BOOST_VERSIONED_CMAKE_FILES_DIR/Boost-@BOOST_VERSION@. ++# ++# when a users does a find_package(Boost ...) BoostConfigVersion.cmake ++# and BoostVersion.cmake will search for this file. ++# ++ ++# ++# Various variables ++# ++set(Boost_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/@BOOST_INCLUDE_INSTALL_DIR@") ++set(Boost_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/@BOOST_INCLUDE_INSTALL_DIR@" ++ CACHE FILEPATH "Boost include directory") ++set(Boost_LIBRARY_DIRS "@CMAKE_INSTALL_PREFIX@/@BOOST_LIB_INSTALL_DIR@") ++# ++# Include the imported targets ++# ++include("@CMAKE_INSTALL_PREFIX@/@BOOST_INSTALL_EXPORTS_FILE@/Boost.cmake") ++ ++# ++# Calculate target suffix from user variables ++# ++if (NOT DEFINED Boost_USE_MULTITHREADED) ++ set(Boost_USE_MULTITHREADED TRUE) ++endif() ++ ++ ++if (Boost_USE_MULTITHREADED) ++ set(mtflag "-mt") ++ set(mtdesc "multi-threaded") ++else() ++ set(mtflag "") ++ set(mtdesc "single-threaded") ++endif() ++ ++if (Boost_USE_STATIC) ++ set(staticflag "-static") ++ set(staticdesc "statically-linked") ++else() ++ set(staticflag "-shared") ++ set(staticdesc "dynamically-linked") ++endif() ++ ++set(Boost_LIBRARIES "") ++foreach(component ${Boost_FIND_COMPONENTS}) ++ # ++ # Check that it is really a target ++ # ++ set(target boost_${component}${mtflag}${staticflag}) ++ get_target_property(p ${target} TYPE) ++ if (NOT (p MATCHES "_LIBRARY$")) ++ message(STATUS "Library boost_${component} (${mtdesc}, ${staticdesc}) is not available in the detected Boost @BOOST_VERSION@ installation under @CMAKE_INSTALL_PREFIX@.") ++ else() ++ list(APPEND Boost_LIBRARIES "optimized;${target}") ++ endif() ++ ++ ++ get_target_property(p ${target}-debug TYPE) ++ if (NOT (p MATCHES "_LIBRARY$")) ++ message(SEND_ERROR "Library boost_${component} (${mtdesc}, ${staticdesc}) is not available in the detected Boost @BOOST_VERSION@ installation under @CMAKE_INSTALL_PREFIX@.") ++ else() ++ list(APPEND Boost_LIBRARIES "debug;${target}-debug") ++ endif() ++ ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/install_me/version.hpp.override.in boost-1.44.0-cmake/tools/build/CMake/install_me/version.hpp.override.in +--- boost_1_44_0/tools/build/CMake/install_me/version.hpp.override.in 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/install_me/version.hpp.override.in 2010-08-22 00:04:46.091261898 +0200 +@@ -0,0 +1,35 @@ ++// Boost version.hpp configuration header file ------------------------------// ++ ++// (C) Copyright John maddock 1999. Distributed under the Boost ++// Software License, Version 1.0. (See accompanying file ++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ++ ++// See http://www.boost.org/libs/config for documentation ++ ++#ifndef BOOST_VERSION_HPP ++#define BOOST_VERSION_HPP ++ ++// ++// Caution, this is the only boost header that is guarenteed ++// to change with every boost release, including this header ++// will cause a recompile every time a new boost version is ++// released. ++// ++// BOOST_VERSION % 100 is the patch level ++// BOOST_VERSION / 100 % 1000 is the minor version ++// BOOST_VERSION / 100000 is the major version ++ ++#define BOOST_VERSION @BOOST_VERSION_NUMERIC@ ++ ++// ++// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION ++// but as a *string* in the form "x_y[_z]" where x is the major version ++// number, y is the minor version number, and z is the patch level if not 0. ++// This is used by to select which library version to link to. ++ ++#define BOOST_LIB_VERSION "@BOOST_VERSION_UNDERSCORES@" ++ ++#endif ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/LinkTest/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/LinkTest/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/LinkTest/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/LinkTest/CMakeLists.txt 2010-08-22 00:04:47.019854605 +0200 +@@ -0,0 +1,26 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++cmake_minimum_required(VERSION 2.6) ++ ++file(GLOB BOOST_EXPORTS "${BOOST_EXPORTS_DIR}/*.cmake") ++ ++foreach(import ++ ${DEPENDS}) ++ include(${BOOST_EXPORTS_DIR}/${import}.cmake) ++endforeach() ++ ++project(LinkTest) ++include_directories (${INCLUDES}) ++add_executable(link-test ${SOURCE}) ++set_source_files_properties(${SOURCE} ++ PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}") ++ ++message("DEPENDS=====${DEPENDS}") ++ ++target_link_libraries(link-test ++ ${LINK_LIBS} ++ ${DEPENDS}) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/selftest_projects/pymodules/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/selftest_projects/pymodules/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/selftest_projects/pymodules/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/selftest_projects/pymodules/CMakeLists.txt 2010-08-22 00:04:45.975946378 +0200 +@@ -0,0 +1,17 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++if (NOT PYTHON_FOUND) ++ message(STATUS "+-- python not found, disabling.") ++else() ++ ++ boost_library_project( ++ pymodules ++ SRCDIRS src ++ ) ++ ++endif() +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/selftest_projects/pymodules/src/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/selftest_projects/pymodules/src/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/selftest_projects/pymodules/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/selftest_projects/pymodules/src/CMakeLists.txt 2010-08-22 00:04:45.968979282 +0200 +@@ -0,0 +1,53 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++include_directories(${PYTHON_INCLUDE_PATH}) ++ ++boost_python_extension(fooext_rel ++ ++ extension.cpp ++ ++ COMPILE_FLAGS "-DMODNAME=fooext_rel" ++ RELEASE_COMPILE_FLAGS "-DFLAGS=\"RELFLAGS\"" ++ DEPENDS boost_python ++ LINK_LIBS ${PYTHON_LIBRARIES} ++ RELEASE) ++ ++boost_python_extension(fooext_dbg ++ ++ extension.cpp ++ ++ COMPILE_FLAGS "-DMODNAME=fooext_dbg" ++ DEBUG_COMPILE_FLAGS "-DFLAGS=DBGFLAGS" ++ DEPENDS boost_python ++ LINK_LIBS ${PYTHON_LIBRARIES} ++ DEBUG) ++ ++boost_python_extension(fooext_default ++ ++ extension.cpp ++ ++ COMPILE_FLAGS "-DMODNAME=fooext_default -DFLAGS=NOFLAGS" ++ ++ DEPENDS boost_python ++ LINK_LIBS ${PYTHON_LIBRARIES}) ++ ++ ++ ++ ++boost_python_extension(fooext_test_linkflags ++ ++ extension.cpp ++ ++ DEPENDS boost_python ++ LINK_LIBS ${PYTHON_LIBRARIES} ++ LINK_FLAGS bogus_linkflags ++ ) ++ ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/a/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/a/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/a/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/a/CMakeLists.txt 2010-08-22 00:04:46.196854929 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ system ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ a ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/a/module.cmake boost-1.44.0-cmake/tools/build/CMake/test/libs/a/module.cmake +--- boost_1_44_0/tools/build/CMake/test/libs/a/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/a/module.cmake 2010-08-22 00:04:46.196854929 +0200 +@@ -0,0 +1 @@ ++boost_module(system DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/a/src/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/a/src/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/a/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/a/src/CMakeLists.txt 2010-08-22 00:04:46.195855828 +0200 +@@ -0,0 +1,40 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++add_definitions(-DLIBNAME=a) ++ ++boost_add_library(a ++ ++ lib.cpp ++ ++ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED" ++ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC" ++ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG" ++ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE" ++ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED" ++ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED" ++ ) ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ message("---------------------------------------------------") ++ ++ boost_add_executable(${shared_or_static}_${debug_or_release}_${single_or_multi} ++ ++ main.cpp ++ ++ DEPENDS boost_a ++ ++ ${shared_or_static} ++ ${debug_or_release} ++ ${single_or_multi} ++ ) ++ endforeach() ++ endforeach() ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/a/test/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/a/test/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/a/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/a/test/CMakeLists.txt 2010-08-22 00:04:46.194855017 +0200 +@@ -0,0 +1,21 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ set(testname a-${shared_or_static}_${debug_or_release}_${single_or_multi}) ++ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname}) ++ set_tests_properties(${testname} ++ PROPERTIES ++ PASS_REGULAR_EXPRESSION "${testname}") ++ ++ endforeach() ++ endforeach() ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/b/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/b/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/b/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/b/CMakeLists.txt 2010-08-22 00:04:46.155855727 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ system ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ b ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/b/module.cmake boost-1.44.0-cmake/tools/build/CMake/test/libs/b/module.cmake +--- boost_1_44_0/tools/build/CMake/test/libs/b/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/b/module.cmake 2010-08-22 00:04:46.157854403 +0200 +@@ -0,0 +1 @@ ++boost_module(b DEPENDS a) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/b/src/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/b/src/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/b/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/b/src/CMakeLists.txt 2010-08-22 00:04:46.143855442 +0200 +@@ -0,0 +1,30 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++add_definitions(-DLIBNAME=b) ++ ++boost_add_library(b ++ ++ lib.cpp ++ ++ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED" ++ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC" ++ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG" ++ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE" ++ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED" ++ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED" ++ ) ++ ++boost_add_executable(SHARED_RELEASE_MULTI_THREADED main.cpp DEPENDS boost_b-mt-shared) ++boost_add_executable(SHARED_RELEASE_SINGLE_THREADED main.cpp DEPENDS boost_b-shared) ++boost_add_executable(STATIC_RELEASE_MULTI_THREADED main.cpp DEPENDS boost_b-mt-static) ++boost_add_executable(STATIC_RELEASE_SINGLE_THREADED main.cpp DEPENDS boost_b-static) ++boost_add_executable(SHARED_DEBUG_MULTI_THREADED main.cpp DEPENDS boost_b-mt-shared-debug) ++boost_add_executable(SHARED_DEBUG_SINGLE_THREADED main.cpp DEPENDS boost_b-shared-debug) ++boost_add_executable(STATIC_DEBUG_MULTI_THREADED main.cpp DEPENDS boost_b-mt-static-debug) ++boost_add_executable(STATIC_DEBUG_SINGLE_THREADED main.cpp DEPENDS boost_b-static-debug) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/b/test/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/b/test/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/b/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/b/test/CMakeLists.txt 2010-08-22 00:04:46.132855519 +0200 +@@ -0,0 +1,21 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ set(testname b-${shared_or_static}_${debug_or_release}_${single_or_multi}) ++ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname}) ++ set_tests_properties(${testname} ++ PROPERTIES ++ PASS_REGULAR_EXPRESSION "${testname}") ++ ++ endforeach() ++ endforeach() ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/c/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/c/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/c/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/c/CMakeLists.txt 2010-08-22 00:04:46.208854936 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++add_definitions(-DLIBNAME=c) ++ ++set(RELEASE_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=RELEASE") ++set(DEBUG_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=DEBUG") ++set(SHARED_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=SHARED") ++set(STATIC_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=STATIC") ++set(MULTI_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=MULTI_THREADED") ++set(SINGLE_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=SINGLE_THREADED") ++ ++# Add a library target to the build system ++boost_library_project( ++ c ++ SRCDIRS src ++ TESTDIRS test ++ # DOCDIRS ++ # DESCRIPTION ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/c/src/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/c/src/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/c/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/c/src/CMakeLists.txt 2010-08-22 00:04:46.207854791 +0200 +@@ -0,0 +1,30 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library(c ++ ++ lib.cpp ++ ++ ) ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ boost_add_executable(${shared_or_static}_${debug_or_release}_${single_or_multi} ++ ++ main.cpp ++ DEPENDS boost_c ++ ${shared_or_static} ++ ${debug_or_release} ++ ${single_or_multi} ++ ) ++ endforeach() ++ endforeach() ++endforeach() ++ ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/c/test/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/c/test/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/c/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/c/test/CMakeLists.txt 2010-08-22 00:04:46.197854949 +0200 +@@ -0,0 +1,21 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ set(testname c-${shared_or_static}_${debug_or_release}_${single_or_multi}) ++ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname}) ++ set_tests_properties(${testname} ++ PROPERTIES ++ PASS_REGULAR_EXPRESSION "${testname}") ++ ++ endforeach() ++ endforeach() ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/d/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/d/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/d/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/d/CMakeLists.txt 2010-08-22 00:04:46.193855687 +0200 +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++add_definitions(-DLIBNAME=d) ++ ++set(RELEASE_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=RELEASE") ++set(DEBUG_COMPILE_FLAGS "-DTOPLEVEL_DEBUG_OR_RELEASE=DEBUG") ++set(SHARED_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=SHARED") ++set(STATIC_COMPILE_FLAGS "-DTOPLEVEL_SHARED_OR_STATIC=STATIC") ++set(MULTI_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=MULTI_THREADED") ++set(SINGLE_THREADED_COMPILE_FLAGS "-DTOPLEVEL_MULTI_OR_SINGLE=SINGLE_THREADED") ++ ++# Add a library target to the build system ++boost_library_project( ++ d ++ SRCDIRS src ++ TESTDIRS test ++ # DOCDIRS ++ # DESCRIPTION ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/d/src/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/d/src/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/d/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/d/src/CMakeLists.txt 2010-08-22 00:04:46.191854889 +0200 +@@ -0,0 +1,59 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(feature STATIC SHARED SINGLE_THREADED MULTI_THREADED ++ DEBUG RELEASE) ++ boost_add_library(d_no_${feature} ++ lib.cpp ++ NO_${feature} ++ ) ++endforeach() ++ ++ ++# ++# Each of these never builds as it depends on something that ++# doesn't exist ++# ++boost_add_library(no_shared ++ lib.cpp ++ NO_SHARED ++ DEPENDS boost_d_no_STATIC) ++ ++boost_add_library(no_static ++ lib.cpp ++ NO_STATIC ++ DEPENDS boost_d_no_SHARED) ++ ++boost_add_library(no_debug ++ lib.cpp ++ NO_DEBUG ++ DEPENDS boost_d_no_RELEASE) ++ ++boost_add_library(no_release ++ lib.cpp ++ NO_RELEASE ++ DEPENDS boost_d_no_DEBUG) ++ ++boost_add_library(no_multi ++ lib.cpp ++ NO_MULTI_THREADED ++ DEPENDS boost_d_no_SINGLE_THREADED) ++ ++boost_add_library(no_single ++ lib.cpp ++ NO_MULTI_THREADED ++ DEPENDS boost_d_no_SINGLE_THREADED) ++ ++# ++# Problem: You can pass NO_MULTI_THREADED to this ++# and get something that never builds ++# ++boost_python_extension(doesntbuild ++ lib.cpp ++ NO_MULTI_THREADED ++ DEPENDS boost_d_no_SINGLE_THREADED) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/libs/d/test/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/libs/d/test/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/libs/d/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/libs/d/test/CMakeLists.txt 2010-08-22 00:04:46.174342655 +0200 +@@ -0,0 +1,21 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ set(testname c-${shared_or_static}_${debug_or_release}_${single_or_multi}) ++ add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname}) ++ set_tests_properties(${testname} ++ PROPERTIES ++ PASS_REGULAR_EXPRESSION "${testname}") ++ ++ endforeach() ++ endforeach() ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/tools/tool-a/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-a/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/tools/tool-a/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-a/CMakeLists.txt 2010-08-22 00:04:46.265854959 +0200 +@@ -0,0 +1,36 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_tool_project(tool-a ++ DESCRIPTION "tool-a" ++ AUTHORS "author-a" ++ ) ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ set(typestring ${shared_or_static}-${debug_or_release}-${single_or_multi}) ++ boost_add_executable(tool-a-${typestring} ++ ++ main.cpp ++ ++ DEPENDS a ++ ++ ${shared_or_static} ++ ${debug_or_release} ++ ${single_or_multi} ++ ) ++ ++ add_test(tool-a-${typestring} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tool-a-${typestring}) ++ set_tests_properties(tool-a-${typestring} ++ PROPERTIES ++ PASS_REGULAR_EXPRESSION tool-a-${typestring}) ++ ++ endforeach() ++ endforeach() ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/tools/tool-a/module.cmake boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-a/module.cmake +--- boost_1_44_0/tools/build/CMake/test/tools/tool-a/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-a/module.cmake 2010-08-22 00:04:46.266854739 +0200 +@@ -0,0 +1 @@ ++boost_module(system DEPENDS utility) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-a/src/CMakeLists.txt 2010-08-22 00:04:46.263854719 +0200 +@@ -0,0 +1,36 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library(a ++ ++ lib.cpp ++ ++ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED" ++ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC" ++ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG" ++ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE" ++ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED" ++ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED" ++ ) ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ boost_add_executable(${shared_or_static}-${debug_or_release}-${single_or_multi} ++ ++ main.cpp ++ ++ DEPENDS a ++ ++ ${shared_or_static} ++ ${debug_or_release} ++ ${single_or_multi} ++ ) ++ endforeach() ++ endforeach() ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-a/test/CMakeLists.txt 2010-08-22 00:04:46.262911508 +0200 +@@ -0,0 +1,21 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ set(testname ${shared_or_static}-${debug_or_release}-${single_or_multi}) ++ add_test(a-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/a-${testname}) ++ set_tests_properties(a-${testname} ++ PROPERTIES ++ PASS_REGULAR_EXPRESSION "${testname}") ++ ++ endforeach() ++ endforeach() ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/tools/tool-b/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-b/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/tools/tool-b/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-b/CMakeLists.txt 2010-08-22 00:04:46.238854640 +0200 +@@ -0,0 +1,35 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_tool_project(b ++ DESCRIPTION "tool-b" ++ AUTHORS "author-b" ++ ) ++ ++boost_add_executable(tool-b-SHARED-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-shared) ++boost_add_executable(tool-b-SHARED-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-shared) ++boost_add_executable(tool-b-STATIC-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-static) ++boost_add_executable(tool-b-STATIC-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-static) ++boost_add_executable(tool-b-SHARED-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-shared-debug) ++boost_add_executable(tool-b-SHARED-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-shared-debug) ++boost_add_executable(tool-b-STATIC-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-static-debug) ++boost_add_executable(tool-b-STATIC-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-static-debug) ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ set(testname ${shared_or_static}-${debug_or_release}-${single_or_multi}) ++ add_test(tool-b-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tool-b-${testname}) ++ set_tests_properties(tool-b-${testname} ++ PROPERTIES ++ PASS_REGULAR_EXPRESSION "${testname}") ++ ++ endforeach() ++ endforeach() ++endforeach() ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/tools/tool-b/module.cmake boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-b/module.cmake +--- boost_1_44_0/tools/build/CMake/test/tools/tool-b/module.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-b/module.cmake 2010-08-22 00:04:46.252995125 +0200 +@@ -0,0 +1 @@ ++boost_module(b DEPENDS a) +\ No newline at end of file +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-b/src/CMakeLists.txt 2010-08-22 00:04:46.230854684 +0200 +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library(b ++ ++ lib.cpp ++ ++ SHARED_COMPILE_FLAGS "-DSHARED_OR_STATIC=SHARED" ++ STATIC_COMPILE_FLAGS "-DSHARED_OR_STATIC=STATIC" ++ DEBUG_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=DEBUG" ++ RELEASE_COMPILE_FLAGS "-DDEBUG_OR_RELEASE=RELEASE" ++ SINGLE_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=SINGLE_THREADED" ++ MULTI_THREADED_COMPILE_FLAGS "-DSINGLE_OR_MULTI=MULTI_THREADED" ++ ) ++ ++boost_add_executable(SHARED-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-shared) ++boost_add_executable(SHARED-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-shared) ++boost_add_executable(STATIC-RELEASE-MULTI_THREADED main.cpp DEPENDS b-mt-static) ++boost_add_executable(STATIC-RELEASE-SINGLE_THREADED main.cpp DEPENDS b-static) ++boost_add_executable(SHARED-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-shared-debug) ++boost_add_executable(SHARED-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-shared-debug) ++boost_add_executable(STATIC-DEBUG-MULTI_THREADED main.cpp DEPENDS b-mt-static-debug) ++boost_add_executable(STATIC-DEBUG-SINGLE_THREADED main.cpp DEPENDS b-static-debug) ++ ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt +--- boost_1_44_0/tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/build/CMake/test/tools/tool-b/test/CMakeLists.txt 2010-08-22 00:04:46.225858527 +0200 +@@ -0,0 +1,21 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(shared_or_static SHARED STATIC) ++ foreach(debug_or_release DEBUG RELEASE) ++ foreach(single_or_multi SINGLE_THREADED MULTI_THREADED) ++ ++ set(testname ${shared_or_static}-${debug_or_release}-${single_or_multi}) ++ add_test(b-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/b-${testname}) ++ set_tests_properties(b-${testname} ++ PROPERTIES ++ PASS_REGULAR_EXPRESSION "${testname}") ++ ++ endforeach() ++ endforeach() ++endforeach() ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/CMakeLists.txt boost-1.44.0-cmake/tools/CMakeLists.txt +--- boost_1_44_0/tools/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/CMakeLists.txt 2010-08-22 00:04:41.035530942 +0200 +@@ -0,0 +1,122 @@ ++# ++# Copyright Troy D. Straszheim, Doug Gregor ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++macro(boost_collect_lib_dependencies varname filename) ++ #message(STATUS "boost_collect_lib_dependencies.... ${Boost_SOURCE_DIR}/libs") ++ file(GLOB BOOST_LIBRARY_CMAKE_FILES ++ RELATIVE "${CMAKE_LIBS_SOURCE_DIR}" "${BOOST_LIBS_SOURCE_DIR}/*/${filename}") ++ foreach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES}) ++ #message(STATUS "-- BOOST_LIB_CMAKE_FILE: ${BOOST_LIB_CMAKE_FILE}") ++ get_filename_component(BOOST_LIB_DIR ${BOOST_LIB_CMAKE_FILE} PATH) ++ set(${varname} ${${varname}} ${BOOST_LIB_DIR}) ++ endforeach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES}) ++endmacro(boost_collect_lib_dependencies varname) ++ ++ ++# Find all of the subdirectories with .cmake files in them. These are ++# the libraries with dependencies. ++boost_collect_lib_dependencies(BOOST_MODULE_DIRS "module.cmake") ++foreach(subdir ${BOOST_MODULE_DIRS}) ++ #message("BOOST_MODULE_DIRS=${BOOST_MODULE_DIRS}") ++ include("${subdir}/module.cmake") ++endforeach(subdir) ++ ++ ++############################################################################### ++# This macro is an internal utility macro ++# TODO: Document this if it stays around ++# ++# example usage: ++# boost_tool_dependencies( BOOST_DEPENDS test) ++# ++macro(boost_tool_dependencies) ++ parse_arguments(BOOST_TEST ++ "BOOST_DEPENDS" ++ "" ++ ${ARGN} ++ ) ++ set (THIS_TEST_DEPENDS_ALL "") ++ # message (STATUS "BOOST_TEST_BOOST_DEPENDS: ${BOOST_TEST_BOOST_DEPENDS}") ++ foreach(libname ${BOOST_TEST_BOOST_DEPENDS}) ++ # message(STATUS "libname: ${libname}") ++ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS) ++ # message(STATUS "${THIS_PROJECT_DEPENDS}: ${${THIS_PROJECT_DEPENDS}}") ++ # set(THIS_TEST_DEPENDS_ALL ${libname} ${${THIS_PROJECT_DEPENDS}} ) ++ # message(STATUS "${THIS_TEST_DEPENDS_ALL}: ${${THIS_TEST_DEPENDS_ALL}}") ++ ++ list(FIND THIS_TEST_DEPENDS_ALL ${libname} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_TEST_DEPENDS_ALL ${libname}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS) ++ # message(STATUS "${additional_lib}: ===> ${${THIS_PROJECT_DEPENDS}}") ++ set(ADDED_DEPS TRUE) ++ while (ADDED_DEPS) ++ set(ADDED_DEPS FALSE) ++ foreach(DEP ${THIS_TEST_DEPENDS_ALL}) ++ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS) ++ foreach(DEPDEP ${${DEP_DEPENDS}}) ++ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ endforeach() ++ endforeach() ++ endwhile() ++ # message(STATUS "-> Dependencies for ${libname}") ++ # message(STATUS "-> THIS_TEST_DEPENDS_ALL: ${THIS_TEST_DEPENDS_ALL}") ++ ++ endforeach(libname ${BOOST_TEST_BOOST_DEPENDS}) ++ foreach (include ${THIS_TEST_DEPENDS_ALL}) ++ # ++ # Modularization temporarily disabled ++ # ++ # include_directories("${Boost_SOURCE_DIR}/libs/${include}/include") ++ # ++ endforeach (include ${includes}) ++ ++endmacro(boost_tool_dependencies) ++# ++############################################################################### ++ ++set(BUILD_TOOLS "NONE" CACHE STRING "Semicolon-separated list of tools to build") ++ ++message(STATUS "") ++if (BUILD_TOOLS STREQUAL "NONE") ++ ++ colormsg(HIGRAY "BUILD_TOOLS is NONE: skipping tools.") ++ ++else() ++ ++ colormsg(_HIBLUE_ "Reading tools...") ++ message(STATUS "") ++ ++ file(GLOB BOOST_TOOL_CMAKE_FILES ++ RELATIVE "${CMAKE_TOOLS_PARENT_DIR}" "${BOOST_TOOLS_PARENT_DIR}/*/CMakeLists.txt") ++ foreach(BOOST_TOOL_CMAKE_FILE ${BOOST_TOOL_CMAKE_FILES}) ++ get_filename_component(BOOST_TOOL_DIR ${BOOST_TOOL_CMAKE_FILE} PATH) ++ set(tooldirs ${tooldirs} ${BOOST_TOOL_DIR}) ++ endforeach() ++ ++ foreach(tooldir ++ ${tooldirs} ++ ) ++ get_filename_component(tooldirname ${tooldir} NAME) ++ list(FIND BUILD_TOOLS ${tooldir} THIS_BUILD_TOOLS_INDEX) ++ if ((THIS_BUILD_TOOLS_INDEX GREATER -1) OR (BUILD_TOOLS STREQUAL "ALL")) ++ message(STATUS "+ ${tooldirname}") ++ add_subdirectory(${tooldir}) ++ endif() ++ ++ endforeach() ++ ++endif() ++ ++message(STATUS "") ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/inspect/CMakeLists.txt boost-1.44.0-cmake/tools/inspect/CMakeLists.txt +--- boost_1_44_0/tools/inspect/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/inspect/CMakeLists.txt 2010-08-22 00:04:38.733854886 +0200 +@@ -0,0 +1,20 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_tool_project(Inspect ++ DESCRIPTION "Boost inspector tool") ++ ++boost_tool_dependencies(BOOST_DEPENDS filesystem system regex test) ++ ++boost_add_executable(inspect ++ ++ inspect.cpp license_check.cpp ++ link_check.cpp path_name_check.cpp tab_check.cpp crlf_check.cpp ++ end_check.cpp unnamed_namespace_check.cpp ascii_check.cpp ++ copyright_check.cpp minmax_check.cpp ++ ++ DEPENDS boost_filesystem boost_system boost_regex ++ ) +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/quickbook/CMakeLists.txt boost-1.44.0-cmake/tools/quickbook/CMakeLists.txt +--- boost_1_44_0/tools/quickbook/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/quickbook/CMakeLists.txt 2010-08-22 00:04:42.359854932 +0200 +@@ -0,0 +1,33 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_tool_project(Quickbook ++ DESCRIPTION "A WikiWiki style documentation tool geared towards C++ documentation" ++ AUTHORS "Joel de Guzman " ++ "Eric Niebler ") ++ ++if (MSVC) ++ add_definitions(/wd4511 /wd4512 /wd4701 /wd4702 /wd4244 /wd4267 /wd4800) ++endif (MSVC) ++ ++boost_add_executable(quickbook ++ ++ detail/quickbook.cpp ++ detail/actions.cpp ++ detail/actions_class.cpp ++ detail/utils.cpp ++ detail/post_process.cpp ++ detail/collector.cpp ++ detail/input_path.cpp ++ detail/template_stack.cpp ++ detail/markups.cpp ++ ++ DEPENDS boost_program_options boost_filesystem ++ MULTI_THREADED ++ SHARED ++ RELEASE ++ ) ++ +diff -Nur --exclude=.svn --exclude=.git --exclude=.gitignore --exclude='*.hpp' --exclude='*.cpp' --exclude='*.ipp' --exclude='*.html' --exclude='*.htm' --exclude='*.dtd' --exclude=html --exclude='*.css' --exclude='*.xml' --exclude='*.rst' --exclude='*.qbk' --exclude='*.doc' --exclude='*.py' --exclude='[a-zABD-Z]*.txt' boost_1_44_0/tools/wave/CMakeLists.txt boost-1.44.0-cmake/tools/wave/CMakeLists.txt +--- boost_1_44_0/tools/wave/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost-1.44.0-cmake/tools/wave/CMakeLists.txt 2010-08-22 00:04:39.065853859 +0200 +@@ -0,0 +1,22 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# DPG: tools need modular dependencies just like libraries have ++# them. For now, we just include the appropriate directories. ++ ++boost_tool_project(Wave ++ DESCRIPTION "Boost wave, the C preprocessor") ++ ++boost_add_executable(wave ++ ++ cpp.cpp ++ ++ DEPENDS boost_wave boost_program_options boost_filesystem boost_serialization ++ ++ MULTI_THREADED ++ SHARED ++ RELEASE ++ ) diff --git a/sources b/sources index 1fdd6a8..d5bb0a7 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -79c7c58e43fa65deb5855127ec32c9e0 boost-1.44.0.cmake.tar.bz2 -ffcd0af9e29a53107a73e7f2ccc715cc boost-cmake-soname.patch +f02578f5218f217a9f20e9c30e119c6a boost_1_44_0.tar.bz2 +ecfd517994a464060f2bc015e5b4d194 cmakeify_boost_1440.patch From 91d00b222588ee226e33ca69a0ee9d0c346d8795 Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Sun, 22 Aug 2010 10:40:58 +0200 Subject: [PATCH 071/452] - Split the CMake-buildable tar-ball into pristine upstream tar-ball and CMake framework patch --- .gitignore | 4 ++-- boost.spec | 40 ++++++++++++++++++++++++++-------------- sources | 4 ++-- 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 08f1678..e16a1b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ -boost-*.tar.* +boost*.tar.* boost-*.src.rpm -boost-cmake-soname.patch +cmakeify_boost_1440.patch clog .build* diff --git a/boost.spec b/boost.spec index 946d97a..aaaba16 100644 --- a/boost.spec +++ b/boost.spec @@ -22,17 +22,20 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 -Release: 0.5%{?dist} +%define pristine_version 1_44_0 +Release: 1%{?dist} License: Boost -# Temporarily get the source from a clone repository of the upstream maintainer, -# until that latter fixes the compilation bug. A merge request has been made: -# http://gitorious.org/~zeuner/boost/zeuners-boost-cmake/merge_requests/1 -#URL: http://gitorious.org/boost/zeuners-boost-cmake/archive-tarball/%{version} -URL: http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake/archive-tarball/%{version} +# The CMake build framework (set of CMakeLists.txt and module.cmake files) is +# added on top of the official Boost release (http://www.boost.org), thanks to +# a dedicated patch. That CMake framework (and patch) is hosted and maintained +# on Gitorious, for now in the following Git repository: +# http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake +%define full_pristine_version %{name}_%{pristine_version} +%define full_cmake_version %{name}-%{version}.cmake +URL: http://www.boost.org Group: System Environment/Libraries -%define full_version %{name}-%{version}.cmake -Source: %{url}/%{full_version}.tar.bz2 +Source: http://downloads.sourceforge.net/%{name}/%{full_pristine_version}.tar.bz2 # From the version 13 of Fedora, the Boost libraries are delivered # with sonames equal to the Boost version (e.g., 1.41.0). On older @@ -74,7 +77,8 @@ BuildRequires: python-devel BuildRequires: libicu-devel BuildRequires: chrpath -Patch0: boost-cmake-soname.patch +Patch0: cmakeify_boost_1440.patch +#Patch1: boost-cmake-soname.patch %bcond_with tests %bcond_with docs_generated @@ -362,9 +366,10 @@ backend to do the parallel work. %prep -%setup -q -n %{full_version} +%setup -q -n %{full_pristine_version} -sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH0} | %{__patch} -p0 --fuzz=0 +# CMake framework (CMakeLists.txt, *.cmake and documentation files) +%patch0 -p1 %build # Support for building tests. @@ -440,14 +445,14 @@ if [ -f testing.log ]; then else echo "error with results" fi -cd %{_builddir}/%{full_version} +cd %{_builddir}/%{full_pristine_version} %endif %install %{__rm} -rf $RPM_BUILD_ROOT -cd %{_builddir}/%{full_version}/ +cd %{_builddir}/%{full_pristine_version}/ %if %{with openmpi} %{_openmpi_load} @@ -501,7 +506,7 @@ find $RPM_BUILD_ROOT/%{_libdir} -name '*.cmake' -exec %{__rm} -f {} \; %{__rm} -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html # Install documentation files (HTML pages) within the temporary place -cd %{_builddir}/%{full_version} +cd %{_builddir}/%{full_pristine_version} DOCPATH=%{boost_docdir} find libs doc more -type f \( -name \*.htm -o -name \*.html \) \ | sed -n '/\//{s,/[^/]*$,,;p}' \ @@ -737,6 +742,13 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Sat Aug 21 2010 Denis Arnaud - 1.44.0-1 +- Split the CMake-buildable tar-ball into pristine upstream tar-ball + and CMake framework patch + +* Fri Aug 16 2010 Denis Arnaud - 1.44.0-0.6 +- Merged the latest changes from the now final release of Boost-1.44 + * Fri Aug 6 2010 Denis Arnaud - 1.44.0-0.5 - Patched header file in boost/random/detail. Resolves: #621631 diff --git a/sources b/sources index 01f7f14..d5bb0a7 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -6c99cb8684788c4e0ce1411070f8928d boost-1.44.0.cmake.tar.bz2 -ffcd0af9e29a53107a73e7f2ccc715cc boost-cmake-soname.patch +f02578f5218f217a9f20e9c30e119c6a boost_1_44_0.tar.bz2 +ecfd517994a464060f2bc015e5b4d194 cmakeify_boost_1440.patch From cb16edf393e4ea51bdf042cbc83ba2680ce68932 Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Sat, 23 Oct 2010 20:50:41 +0200 Subject: [PATCH 072/452] - Rebuild. --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index aaaba16..464e9f2 100644 --- a/boost.spec +++ b/boost.spec @@ -23,7 +23,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 %define pristine_version 1_44_0 -Release: 1%{?dist} +Release: 1.1%{?dist} License: Boost # The CMake build framework (set of CMakeLists.txt and module.cmake files) is @@ -742,6 +742,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Sat Oct 23 2010 Denis Arnaud - 1.44.0-1.1 +- Rebuild. + * Sat Aug 21 2010 Denis Arnaud - 1.44.0-1 - Split the CMake-buildable tar-ball into pristine upstream tar-ball and CMake framework patch From ed95db05cd9373f94855ed708e5df6dafcebb89d Mon Sep 17 00:00:00 2001 From: "Tom \"spot\" Callaway" Date: Thu, 2 Dec 2010 10:50:48 -0500 Subject: [PATCH 073/452] build boost-build and boost-jam subpackages --- boost.spec | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index aaaba16..9289deb 100644 --- a/boost.spec +++ b/boost.spec @@ -23,7 +23,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 %define pristine_version 1_44_0 -Release: 1%{?dist} +Release: 2%{?dist} License: Boost # The CMake build framework (set of CMakeLists.txt and module.cmake files) is @@ -364,6 +364,29 @@ backend to do the parallel work. %endif +%package build +Summary: Cross platform build system for C++ projects +Group: Development/Tools +Requires: boost-jam +BuildArch: noarch + +%description build +Boost.Build is an easy way to build C++ projects, everywhere. You +name your executables and libraries and list their sources. +Boost.Build takes care about compiling your sources with the right +options, creating static and shared libraries, making executables, +and other chores -- whether you're using gcc, msvc, or a dozen +more supported C++ compilers -- on Windows, OSX, Linux and +commercial UNIX systems. + +%package jam +Summary: A low-level build tool +Group: Development/Tools + +%description jam +Boost.Jam (BJam) is the low-level build engine tool for Boost.Build. +Historically, Boost.Jam is based on on FTJam and on Perforce Jam but has grown +a number of significant features and is now developed independently %prep %setup -q -n %{full_pristine_version} @@ -420,6 +443,12 @@ export MPI_COMPILER %{_mpich2_unload} %endif +# Build Boost Jam +echo ============================= build Jam ================== +pushd tools/jam +export CFLAGS="%{optflags}" +./build_dist.sh +popd %check %if %{with tests} @@ -520,6 +549,20 @@ done %{__rm} -f tmp-doc-directories %{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html +echo ============================= install jam ================== +mkdir -p $RPM_BUILD_ROOT%{_bindir} +pushd tools/jam +%{__install} -m 755 stage/bin.linux*/bjam $RPM_BUILD_ROOT%{_bindir} +popd + +echo ============================= install build ================== +mkdir -p $RPM_BUILD_ROOT%{_datadir}/boost-build +pushd tools/build/v2 +cp -a boost-build.jam bootstrap.jam build/ kernel/ options/ tools/ util/ user-config.jam $RPM_BUILD_ROOT%{_datadir}/boost-build/ +# Not a real file +rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/build/project.ann.py +popd + # Remove scripts used to generate include files find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{__rm} -f {} \; @@ -741,7 +784,22 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif +%files build +%defattr(-, root, root, -) +%{_datadir}/boost-build/ + +%files jam +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_bindir}/bjam + %changelog +* Tue Nov 30 2010 Tom "spot" Callaway - 1.44.0-2 +- add boost-build, boost-jam subpackages + +* Sat Oct 23 2010 Denis Arnaud - 1.44.0-1.1 +- Rebuild. + * Sat Aug 21 2010 Denis Arnaud - 1.44.0-1 - Split the CMake-buildable tar-ball into pristine upstream tar-ball and CMake framework patch From d4a8798a99dd2bba2801673b12ab8bf55bc31065 Mon Sep 17 00:00:00 2001 From: "Tom \"spot\" Callaway" Date: Thu, 2 Dec 2010 10:51:55 -0500 Subject: [PATCH 074/452] build boost-build and boost-jam subpackages --- boost.spec | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 464e9f2..9289deb 100644 --- a/boost.spec +++ b/boost.spec @@ -23,7 +23,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 %define pristine_version 1_44_0 -Release: 1.1%{?dist} +Release: 2%{?dist} License: Boost # The CMake build framework (set of CMakeLists.txt and module.cmake files) is @@ -364,6 +364,29 @@ backend to do the parallel work. %endif +%package build +Summary: Cross platform build system for C++ projects +Group: Development/Tools +Requires: boost-jam +BuildArch: noarch + +%description build +Boost.Build is an easy way to build C++ projects, everywhere. You +name your executables and libraries and list their sources. +Boost.Build takes care about compiling your sources with the right +options, creating static and shared libraries, making executables, +and other chores -- whether you're using gcc, msvc, or a dozen +more supported C++ compilers -- on Windows, OSX, Linux and +commercial UNIX systems. + +%package jam +Summary: A low-level build tool +Group: Development/Tools + +%description jam +Boost.Jam (BJam) is the low-level build engine tool for Boost.Build. +Historically, Boost.Jam is based on on FTJam and on Perforce Jam but has grown +a number of significant features and is now developed independently %prep %setup -q -n %{full_pristine_version} @@ -420,6 +443,12 @@ export MPI_COMPILER %{_mpich2_unload} %endif +# Build Boost Jam +echo ============================= build Jam ================== +pushd tools/jam +export CFLAGS="%{optflags}" +./build_dist.sh +popd %check %if %{with tests} @@ -520,6 +549,20 @@ done %{__rm} -f tmp-doc-directories %{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html +echo ============================= install jam ================== +mkdir -p $RPM_BUILD_ROOT%{_bindir} +pushd tools/jam +%{__install} -m 755 stage/bin.linux*/bjam $RPM_BUILD_ROOT%{_bindir} +popd + +echo ============================= install build ================== +mkdir -p $RPM_BUILD_ROOT%{_datadir}/boost-build +pushd tools/build/v2 +cp -a boost-build.jam bootstrap.jam build/ kernel/ options/ tools/ util/ user-config.jam $RPM_BUILD_ROOT%{_datadir}/boost-build/ +# Not a real file +rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/build/project.ann.py +popd + # Remove scripts used to generate include files find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{__rm} -f {} \; @@ -741,7 +784,19 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif +%files build +%defattr(-, root, root, -) +%{_datadir}/boost-build/ + +%files jam +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_bindir}/bjam + %changelog +* Tue Nov 30 2010 Tom "spot" Callaway - 1.44.0-2 +- add boost-build, boost-jam subpackages + * Sat Oct 23 2010 Denis Arnaud - 1.44.0-1.1 - Rebuild. From 74756b504a6ca278f89634c93908535e8ad8059c Mon Sep 17 00:00:00 2001 From: "Tom \"spot\" Callaway" Date: Fri, 3 Dec 2010 11:08:45 -0500 Subject: [PATCH 075/452] also package build-system.jam --- boost.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/boost.spec b/boost.spec index 9289deb..0fb5876 100644 --- a/boost.spec +++ b/boost.spec @@ -23,7 +23,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 %define pristine_version 1_44_0 -Release: 2%{?dist} +Release: 3%{?dist} License: Boost # The CMake build framework (set of CMakeLists.txt and module.cmake files) is @@ -558,7 +558,7 @@ popd echo ============================= install build ================== mkdir -p $RPM_BUILD_ROOT%{_datadir}/boost-build pushd tools/build/v2 -cp -a boost-build.jam bootstrap.jam build/ kernel/ options/ tools/ util/ user-config.jam $RPM_BUILD_ROOT%{_datadir}/boost-build/ +cp -a boost-build.jam bootstrap.jam build-system.jam build/ kernel/ options/ tools/ util/ user-config.jam $RPM_BUILD_ROOT%{_datadir}/boost-build/ # Not a real file rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/build/project.ann.py popd @@ -794,6 +794,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %{_bindir}/bjam %changelog +* Fri Dec 3 2010 Tom "spot" Callaway - 1.44.0-3 +- also package build-system.jam in boost-build + * Tue Nov 30 2010 Tom "spot" Callaway - 1.44.0-2 - add boost-build, boost-jam subpackages From b098466e103a54db9d581781740fc42c73a20502 Mon Sep 17 00:00:00 2001 From: "Tom \"spot\" Callaway" Date: Fri, 3 Dec 2010 11:33:47 -0500 Subject: [PATCH 076/452] also package build-system.jam --- boost.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/boost.spec b/boost.spec index 9289deb..0fb5876 100644 --- a/boost.spec +++ b/boost.spec @@ -23,7 +23,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 %define pristine_version 1_44_0 -Release: 2%{?dist} +Release: 3%{?dist} License: Boost # The CMake build framework (set of CMakeLists.txt and module.cmake files) is @@ -558,7 +558,7 @@ popd echo ============================= install build ================== mkdir -p $RPM_BUILD_ROOT%{_datadir}/boost-build pushd tools/build/v2 -cp -a boost-build.jam bootstrap.jam build/ kernel/ options/ tools/ util/ user-config.jam $RPM_BUILD_ROOT%{_datadir}/boost-build/ +cp -a boost-build.jam bootstrap.jam build-system.jam build/ kernel/ options/ tools/ util/ user-config.jam $RPM_BUILD_ROOT%{_datadir}/boost-build/ # Not a real file rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/build/project.ann.py popd @@ -794,6 +794,9 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %{_bindir}/bjam %changelog +* Fri Dec 3 2010 Tom "spot" Callaway - 1.44.0-3 +- also package build-system.jam in boost-build + * Tue Nov 30 2010 Tom "spot" Callaway - 1.44.0-2 - add boost-build, boost-jam subpackages From 80e381340c6db279996424ce8bfcd02881e1a2de Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 8 Dec 2010 19:15:44 +0100 Subject: [PATCH 077/452] - Build with support for iostreams deprecated functions - Add stuff to .gitignore - Resolves: #654480 --- .gitignore | 4 ++-- boost.spec | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index e16a1b2..e6761c6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ boost*.tar.* boost-*.src.rpm -cmakeify_boost_1440.patch clog .build* - +boost_*/ +*/*.rpm diff --git a/boost.spec b/boost.spec index aaaba16..363f58c 100644 --- a/boost.spec +++ b/boost.spec @@ -23,7 +23,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 %define pristine_version 1_44_0 -Release: 1%{?dist} +Release: 2%{?dist} License: Boost # The CMake build framework (set of CMakeLists.txt and module.cmake files) is @@ -383,7 +383,9 @@ backend to do the parallel work. cd serial %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \ -DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF \ - -DWITH_MPI=OFF .. + -DWITH_MPI=OFF \ + -DCMAKE_CXX_FLAGS=-DBOOST_IOSTREAMS_USE_DEPRECATED \ + .. make VERBOSE=1 %{?_smp_mflags} ) @@ -742,6 +744,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %endif %changelog +* Wed Dec 8 2010 Petr Machata - 1.44.0-2 +- Build with support for iostreams deprecated functions +- Resolves: #654480 + * Sat Aug 21 2010 Denis Arnaud - 1.44.0-1 - Split the CMake-buildable tar-ball into pristine upstream tar-ball and CMake framework patch From 0de91b187bcaa2724356475a01a51b283b041c78 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 8 Dec 2010 22:40:09 +0100 Subject: [PATCH 078/452] - Build with support for iostreams deprecated functions - Add stuff to .gitignore - Resolves: #654480 --- .gitignore | 4 ++-- boost.spec | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index e16a1b2..e6761c6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ boost*.tar.* boost-*.src.rpm -cmakeify_boost_1440.patch clog .build* - +boost_*/ +*/*.rpm diff --git a/boost.spec b/boost.spec index 0fb5876..decbfb7 100644 --- a/boost.spec +++ b/boost.spec @@ -23,7 +23,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 %define pristine_version 1_44_0 -Release: 3%{?dist} +Release: 4%{?dist} License: Boost # The CMake build framework (set of CMakeLists.txt and module.cmake files) is @@ -406,7 +406,9 @@ a number of significant features and is now developed independently cd serial %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \ -DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF \ - -DWITH_MPI=OFF .. + -DWITH_MPI=OFF \ + -DCMAKE_CXX_FLAGS=-DBOOST_IOSTREAMS_USE_DEPRECATED \ + .. make VERBOSE=1 %{?_smp_mflags} ) @@ -794,6 +796,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %{_bindir}/bjam %changelog +* Wed Dec 8 2010 Petr Machata - 1.44.0-4 +- Build with support for iostreams deprecated functions +- Resolves: #654480 + * Fri Dec 3 2010 Tom "spot" Callaway - 1.44.0-3 - also package build-system.jam in boost-build From 143f670fa965fde57731dbc399321831889c4d93 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 3 Jan 2011 17:44:43 +0100 Subject: [PATCH 079/452] Add boost-random DSOs - Resolves: #665679 --- boost-random-dso.patch | 23 +++++++++++++++++++++++ boost.spec | 26 +++++++++++++++++++++++++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 boost-random-dso.patch diff --git a/boost-random-dso.patch b/boost-random-dso.patch new file mode 100644 index 0000000..1aa8156 --- /dev/null +++ b/boost-random-dso.patch @@ -0,0 +1,23 @@ +diff -urpN boost_1_44_0/libs/random/CMakeLists.txt boost_1_44_0-pm/libs/random/CMakeLists.txt +--- boost_1_44_0/libs/random/CMakeLists.txt 2011-01-03 16:52:25.000000000 +0100 ++++ boost_1_44_0-pm/libs/random/CMakeLists.txt 2011-01-03 16:51:17.000000000 +0100 +@@ -15,7 +15,7 @@ set (lib_headers + # Add a library target to the build system + boost_library_project( + random +- # SRCDIRS ++ SRCDIRS src + TESTDIRS test + HEADERS ${lib_headers} + # DOCDIRS +diff -urpN boost_1_44_0/libs/random/src/CMakeLists.txt boost_1_44_0-pm/libs/random/src/CMakeLists.txt +--- boost_1_44_0/libs/random/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ boost_1_44_0-pm/libs/random/src/CMakeLists.txt 2011-01-03 16:50:40.000000000 +0100 +@@ -0,0 +1,7 @@ ++add_definitions(-DBOOST_RANDOM_NO_LIB=1) ++boost_add_library( ++ random ++ random_device.cpp ++ STATIC_COMPILE_FLAGS -DBOOST_RANDOM_STATIC_LINK ++ SHARED_COMPILE_FLAGS -DBOOST_ALL_DYN_LINK=1 ++ ) diff --git a/boost.spec b/boost.spec index decbfb7..eab0dc0 100644 --- a/boost.spec +++ b/boost.spec @@ -23,7 +23,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 %define pristine_version 1_44_0 -Release: 4%{?dist} +Release: 5%{?dist} License: Boost # The CMake build framework (set of CMakeLists.txt and module.cmake files) is @@ -59,6 +59,7 @@ Requires: boost-graph = %{version}-%{release} Requires: boost-iostreams = %{version}-%{release} Requires: boost-program-options = %{version}-%{release} Requires: boost-python = %{version}-%{release} +Requires: boost-random = %{version}-%{release} Requires: boost-regex = %{version}-%{release} Requires: boost-serialization = %{version}-%{release} Requires: boost-signals = %{version}-%{release} @@ -79,6 +80,7 @@ BuildRequires: chrpath Patch0: cmakeify_boost_1440.patch #Patch1: boost-cmake-soname.patch +Patch2: boost-random-dso.patch %bcond_with tests %bcond_with docs_generated @@ -163,6 +165,14 @@ functions and objects to Python, and vice versa, using no special tools -- just your C++ compiler. This package contains runtime support for Boost Python Library. +%package random +Summary: Runtime component of boost random library +Group: System Environment/Libraries + +%description random + +Runtime support for boost random library. + %package regex Summary: Runtime component of boost regular expression library Group: System Environment/Libraries @@ -393,6 +403,7 @@ a number of significant features and is now developed independently # CMake framework (CMakeLists.txt, *.cmake and documentation files) %patch0 -p1 +%patch2 -p1 %build # Support for building tests. @@ -609,6 +620,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %postun python -p /sbin/ldconfig +%post random -p /sbin/ldconfig + +%postun random -p /sbin/ldconfig + %post regex -p /sbin/ldconfig %postun regex -p /sbin/ldconfig @@ -680,6 +695,11 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %doc LICENSE_1_0.txt %{_libdir}/libboost_python*.so.%{sonamever} +%files random +%defattr(-, root, root, -) +%doc LICENSE_1_0.txt +%{_libdir}/libboost_random*.so.%{sonamever} + %files regex %defattr(-, root, root, -) %doc LICENSE_1_0.txt @@ -796,6 +816,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %{_bindir}/bjam %changelog +* Mon Jan 3 2011 Petr Machata - 1.44.0-5 +- Add boost-random DSOs +- Resolves: #665679 + * Wed Dec 8 2010 Petr Machata - 1.44.0-4 - Build with support for iostreams deprecated functions - Resolves: #654480 From 5b821b07482c900537e52ae5deff7d8ec2f125b7 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Thu, 6 Jan 2011 17:03:50 +0100 Subject: [PATCH 080/452] Don't override CXXFLAGS with -DBOOST_IOSTREAMS_USE_DEPRECATED - Resolves: #667294 --- boost.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/boost.spec b/boost.spec index eab0dc0..8d7c50f 100644 --- a/boost.spec +++ b/boost.spec @@ -23,14 +23,15 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.44.0 %define pristine_version 1_44_0 -Release: 5%{?dist} +Release: 6%{?dist} License: Boost # The CMake build framework (set of CMakeLists.txt and module.cmake files) is # added on top of the official Boost release (http://www.boost.org), thanks to # a dedicated patch. That CMake framework (and patch) is hosted and maintained # on Gitorious, for now in the following Git repository: -# http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake +# http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake +# http://git.gitorious.org/~denisarnaud/boost/denisarnauds-zeuners-boost-cmake.git %define full_pristine_version %{name}_%{pristine_version} %define full_cmake_version %{name}-%{version}.cmake URL: http://www.boost.org @@ -418,7 +419,7 @@ a number of significant features and is now developed independently %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \ -DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF \ -DWITH_MPI=OFF \ - -DCMAKE_CXX_FLAGS=-DBOOST_IOSTREAMS_USE_DEPRECATED \ + -DCMAKE_CXX_FLAGS="%{optflags} -DBOOST_IOSTREAMS_USE_DEPRECATED" \ .. make VERBOSE=1 %{?_smp_mflags} ) @@ -816,6 +817,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %{_bindir}/bjam %changelog +* Thu Jan 6 2011 Petr Machata - 1.44.0-6 +- Don't override CXXFLAGS with -DBOOST_IOSTREAMS_USE_DEPRECATED +- Resolves: #667294 + * Mon Jan 3 2011 Petr Machata - 1.44.0-5 - Add boost-random DSOs - Resolves: #665679 From 9cc1979eb0989f13f3bf5c3e663a95c3efab4fd7 Mon Sep 17 00:00:00 2001 From: Denis Arnaud Date: Mon, 10 Jan 2011 21:00:45 +0100 Subject: [PATCH 081/452] - Integrated Petr's work to fix missing Boost.Filesystem V3 issue - Resolves: #667740 --- .gitignore | 2 + boost.spec | 18 +- cmakeify_boost_1440_2.patch | 38171 ++++++++++++++++++++++++++++++++++ sources | 4 +- 4 files changed, 38187 insertions(+), 8 deletions(-) create mode 100644 cmakeify_boost_1440_2.patch diff --git a/.gitignore b/.gitignore index e6761c6..419e428 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ clog .build* boost_*/ */*.rpm +/boost-1.44.0.cmake.tar.bz2 +/cmakeify_boost_1440_2.patch diff --git a/boost.spec b/boost.spec index 8d7c50f..e21a25b 100644 --- a/boost.spec +++ b/boost.spec @@ -29,9 +29,12 @@ License: Boost # The CMake build framework (set of CMakeLists.txt and module.cmake files) is # added on top of the official Boost release (http://www.boost.org), thanks to # a dedicated patch. That CMake framework (and patch) is hosted and maintained -# on Gitorious, for now in the following Git repository: -# http://gitorious.org/boost/denisarnauds-zeuners-boost-cmake -# http://git.gitorious.org/~denisarnaud/boost/denisarnauds-zeuners-boost-cmake.git +# on GitHub, for now in the following Git repository: +# https://github.com/denisarnaud/boost-cmake +# A clone also exists on Gitorious, where CMake-related work was formely done: +# http://gitorious.org/~denisarnaud/boost/denisarnauds-cmake +# Upstream work is synchronised thanks to the Ryppl's hosted Git clone: +# https://github.com/ryppl/boost-svn/tree/trunk %define full_pristine_version %{name}_%{pristine_version} %define full_cmake_version %{name}-%{version}.cmake URL: http://www.boost.org @@ -79,9 +82,9 @@ BuildRequires: python-devel BuildRequires: libicu-devel BuildRequires: chrpath -Patch0: cmakeify_boost_1440.patch +Patch0: cmakeify_boost_1440_2.patch #Patch1: boost-cmake-soname.patch -Patch2: boost-random-dso.patch +#Patch2: boost-random-dso.patch %bcond_with tests %bcond_with docs_generated @@ -404,7 +407,6 @@ a number of significant features and is now developed independently # CMake framework (CMakeLists.txt, *.cmake and documentation files) %patch0 -p1 -%patch2 -p1 %build # Support for building tests. @@ -817,6 +819,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_ %{_bindir}/bjam %changelog +* Mon Jan 10 2011 Denis Arnaud - 1.44.0-7 +- Integrated Petr's work to fix missing Boost.Filesystem V3 issue +- Resolves: #667740 + * Thu Jan 6 2011 Petr Machata - 1.44.0-6 - Don't override CXXFLAGS with -DBOOST_IOSTREAMS_USE_DEPRECATED - Resolves: #667294 diff --git a/cmakeify_boost_1440_2.patch b/cmakeify_boost_1440_2.patch new file mode 100644 index 0000000..4e8931c --- /dev/null +++ b/cmakeify_boost_1440_2.patch @@ -0,0 +1,38171 @@ +diff --git a/.gitignore b/.gitignore +index aef7959..5b99088 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -1,5 +1,4 @@ + /build +-tools/build/CMake/ + tmp + *.pyc + ._* +diff --git a/CMakeLists.txt b/CMakeLists.txt +new file mode 100644 +index 0000000..551b8f8 +--- /dev/null ++++ b/CMakeLists.txt +@@ -0,0 +1,402 @@ ++########################################################################## ++# CMake Build Rules for Boost # ++########################################################################## ++# Copyright (C) 2007, 2008 Douglas Gregor # ++# Copyright (C) 2007, 2009 Troy Straszheim # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# Basic Usage: # ++# # ++# On Unix variants: # ++# ccmake BOOST_DIRECTORY # ++# # ++# (c)onfigure options to your liking, then (g)enerate # ++# makefiles. Use "make" to build, "make test" to test, "make # ++# install" to install, and "make package" to build binary # ++# packages. # ++# # ++# On Windows: # ++# run the CMake GUI, load the Boost directory, and generate # ++# project files or makefiles for your environment. # ++# # ++# For more information about CMake, see http://www.cmake.org # ++########################################################################## ++cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR) ++project(Boost) ++ ++########################################################################## ++# Boost CMake modules # ++########################################################################## ++list(APPEND CMAKE_MODULE_PATH ${Boost_SOURCE_DIR}/tools/build/CMake) ++include(BoostUtils) ++ ++message(STATUS "") ++colormsg(_HIBLUE_ "Boost.CMake starting") ++ ++########################################################################## ++# Version information # ++########################################################################## ++ ++# We parse the version information from the boost/version.hpp header. ++file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/boost/version.hpp BOOST_VERSIONSTR ++ REGEX "#define[ ]+BOOST_VERSION[ ]+[0-9]+") ++string(REGEX MATCH "[0-9]+" BOOST_VERSIONSTR ${BOOST_VERSIONSTR}) ++if (BOOST_VERSIONSTR) ++ math(EXPR BOOST_VERSION_MAJOR "${BOOST_VERSIONSTR} / 100000") ++ math(EXPR BOOST_VERSION_MINOR "${BOOST_VERSIONSTR} / 100 % 1000") ++ math(EXPR BOOST_VERSION_SUBMINOR "${BOOST_VERSIONSTR} % 100") ++ set(BOOST_VERSION "${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR}") ++else() ++ message(FATAL_ERROR ++ "Unable to parse Boost version from ${CMAKE_CURRENT_SOURCE_DIR}/boost/version.hpp") ++endif() ++ ++# ++# This for automatic testing of multiple versioned installs ++# ++if(BOOST_VERSION_OVERRIDE) ++ set(BOOST_VERSION ${BOOST_VERSION_OVERRIDE}) ++ set(BOOST_VERSION_NUMERIC ${BOOST_VERSION_NUMERIC_OVERRIDE}) ++ set(BOOST_VERSION_UNDERSCORES ${BOOST_VERSION_UNDERSCORES_OVERRIDE}) ++ configure_file(tools/build/CMake/install_me/version.hpp.override.in ${CMAKE_BINARY_DIR}/version.hpp) ++endif() ++ ++set(BOOST_CMAKE_VERSION "${BOOST_VERSION}.cmake0") ++ ++# ++# For intermittent deployment of docs ++# ++set(BOOST_CMAKE_HOST sodium.resophonic.com) ++set(BOOST_CMAKE_DOCROOT /var/www/htdocs/boost-cmake/) ++set(BOOST_CMAKE_VERSIONED_DOCROOT ${BOOST_CMAKE_DOCROOT}/${BOOST_CMAKE_VERSION}) ++set(BOOST_CMAKE_URL ${BOOST_CMAKE_HOST}:${BOOST_CMAKE_VERSIONED_DOCROOT}) ++ ++# ++# BOOST_MAINTAINER: undocced variable that sets up maintainer mode ++# ++if(BOOST_MAINTAINER) ++ # ++ # Put the boost.cmake version someplace sphinx can get it ++ # for use in generated documentation ++ # ++ set(CMAKE_DOCS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/docs/) ++ set(UPSTREAM_TAG "Boost_1_41_0") ++ ++ set(gitdiff "git diff --stat=100,90 ${UPSTREAM_TAG}") ++ add_custom_target(make-diff ++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ++ COMMAND echo "% ${gitdiff}" > ${CMAKE_DOCS_DIR}/source/git_diff.txt ++ COMMAND git diff --stat=100,90 ${UPSTREAM_TAG} >> ${CMAKE_DOCS_DIR}/source/git_diff.txt ++ COMMAND make -C ${CMAKE_DOCS_DIR} html ++ ) ++ ++ add_custom_target(do-release ++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ++ COMMAND git archive --format=tar --prefix=boost-${BOOST_CMAKE_VERSION}/ ${BOOST_CMAKE_VERSION} | gzip --best > boost-${BOOST_CMAKE_VERSION}.tar.gz ++ COMMAND git archive --format=zip -9 --prefix=boost-${BOOST_CMAKE_VERSION}/ ${BOOST_CMAKE_VERSION} > boost-${BOOST_CMAKE_VERSION}.zip ++ # COMMAND git log --quiet ${BOOST_CMAKE_VERSION} > /dev/null ++ COMMAND ssh ${BOOST_CMAKE_HOST} mkdir -p ${BOOST_CMAKE_VERSIONED_DOCROOT} ++ COMMAND scp boost-${BOOST_CMAKE_VERSION}.tar.gz boost-${BOOST_CMAKE_VERSION}.zip ${BOOST_CMAKE_URL} ++ COMMAND make -C ${CMAKE_DOCS_DIR} deploy ++ ) ++ ++ colormsg(HIRED "*** MAINTAINER TARGETS ADDED ***") ++ ++endif() ++ ++# ++# Make sure that we reconfigure when boost/version.hpp changes. ++# ++configure_file(boost/version.hpp ++ ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/version.stamp) ++########################################################################## ++ ++# Put the libaries and binaries that get built into directories at the ++# top of the build tree rather than in hard-to-find leaf ++# directories. This simplifies manual testing and the use of the build ++# tree rather than installed Boost libraries. ++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) ++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) ++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) ++ ++ ++message(STATUS "") ++boost_report_pretty("Boost.CMake version" BOOST_CMAKE_VERSION) ++ ++include(BoostConfig) ++include(BoostCore) ++include(BoostDocs) ++include(BoostTesting) ++########################################################################## ++ ++########################################################################## ++# Build Features and Variants # ++########################################################################## ++ ++ ++# User-level options deciding which variants we will build. ++option(ENABLE_STATIC "Whether to build static libraries" ON) ++option(ENABLE_SHARED "Whether to build shared libraries" ON) ++option(ENABLE_DEBUG "Whether to build debugging libraries" ON) ++option(ENABLE_RELEASE "Whether to build release libraries" ON) ++option(ENABLE_SINGLE_THREADED "Whether to build single-threaded libraries" OFF) ++option(ENABLE_MULTI_THREADED "Whether to build multi-threaded libraries" ON) ++ ++if(BUILD_VERSIONED) ++ message(FATAL_ERROR "Option 'BUILD_VERSIONED' has changed, the new name is WINMANGLE_LIBNAMES") ++endif(BUILD_VERSIONED) ++ ++#if(BUILD_TESTING) ++# message(FATAL_ERROR "Option 'BUILD_TESTING' is gone, new name is BUILD_TESTS, see the docs") ++#endif() ++ ++option(WINMANGLE_LIBNAMES ++ "mangle toolset and boost version tags to into library names" ++ ${WIN32}) ++ ++option(BUILD_SOVERSIONED "Create libraries with SONAMES" ${UNIX}) ++ ++if(UNIX) ++ option(INSTALL_VERSIONED "Install to versioned directories" ON) ++endif() ++ ++ ++# the default set of library variants that we will be building ++boost_add_default_variant(RELEASE DEBUG) ++boost_add_default_variant(SHARED STATIC) ++boost_add_default_variant(MULTI_THREADED SINGLE_THREADED) ++ ++if (MSVC) ++ # For now, we only actually support static/dynamic run-time variants for ++ # Visual C++. Provide both options for Visual C++ users, but just fix ++ # the values of the variables for all other platforms. ++ option(ENABLE_STATIC_RUNTIME ++ "Whether to build libraries linking against the static runtime" ++ ON) ++ ++ option(ENABLE_DYNAMIC_RUNTIME ++ "Whether to build libraries linking against the dynamic runtime" ++ ON) ++ ++ boost_add_default_variant(DYNAMIC_RUNTIME STATIC_RUNTIME) ++endif() ++ ++# Extra features used by some libraries ++set(ENABLE_PYTHON_NODEBUG ON) ++boost_add_extra_variant(PYTHON_NODEBUG PYTHON_DEBUG) ++########################################################################## ++ ++########################################################################## ++# Installation # ++########################################################################## ++if (WIN32) ++ set(sep "_") ++else() ++ set(sep ".") ++endif() ++ ++if (BOOST_VERSION_OVERRIDE) ++ set(verdir "boost-${BOOST_VERSION_OVERRIDE}") ++elseif(INSTALL_VERSIONED) ++ set(verdir "boost-${BOOST_VERSION_MAJOR}${sep}${BOOST_VERSION_MINOR}${sep}${BOOST_VERSION_SUBMINOR}") ++else() ++ set(verstring "") ++endif() ++ ++set(BOOST_INCLUDE_INSTALL_DIR ++ "include/${verdir}" ++ CACHE STRING "Destination path under CMAKE_INSTALL_PREFIX for header files" ++ ) ++ ++set(BOOST_LIB_INSTALL_DIR ++ "lib${LIB_SUFFIX}/${verdir}" ++ CACHE STRING "Destination path under CMAKE_INSTALL_PREFIX for libraries" ++ ) ++ ++boost_report_pretty("Install prefix" CMAKE_INSTALL_PREFIX) ++boost_report_pretty("Install include dir" BOOST_INCLUDE_INSTALL_DIR) ++boost_report_pretty("Install lib dir" BOOST_LIB_INSTALL_DIR) ++ ++include(BoostExternals) ++ ++if (BOOST_VERSION_OVERRIDE) ++ install(FILES ${CMAKE_BINARY_DIR}/version.hpp ++ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}/boost ++ RENAME version.hpp) ++ install(DIRECTORY boost ++ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR} ++ PATTERN "CVS" EXCLUDE ++ PATTERN ".svn" EXCLUDE ++ PATTERN "boost/version.hpp" EXCLUDE) ++else() ++ install(DIRECTORY boost ++ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR} ++ PATTERN "CVS" EXCLUDE ++ PATTERN ".svn" EXCLUDE) ++endif() ++ ++# ++# for testing ++# ++if (BOOST_VERSION_OVERRIDE) ++ install(FILES ${CMAKE_BINARY_DIR}/version.hpp ++ DESTINATION ${BOOST_INCLUDE_INSTALL_DIR}/boost ++ RENAME version.hpp) ++endif() ++ ++ ++########################################################################## ++# Binary packages # ++########################################################################## ++# ++# CPACK_PACKAGE_NAME may not contain spaces when generating rpms ++# ++set(CPACK_PACKAGE_NAME "Boost") ++set(CPACK_PACKAGE_VENDOR "Boost.org") ++set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Boost ${BOOST_VERSION} prerelease") ++set(CPACK_PACKAGE_FILE_NAME "boost-${BOOST_VERSION}-${BOOST_PLATFORM}-${BOOST_TOOLSET}") ++ ++if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/README.txt") ++ message(STATUS "Using generic cpack package description file.") ++ set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.txt") ++ set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.txt") ++endif () ++ ++set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE_1_0.txt") ++if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Welcome.txt") ++ message(STATUS "Using generic cpack welcome file.") ++ set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_CURRENT_SOURCE_DIR}/Welcome.txt") ++endif() ++ ++set(CPACK_PACKAGE_VERSION "${BOOST_VERSION}") ++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") ++ ++if(WIN32 AND NOT UNIX) ++ # There is a bug in NSI that does not handle full unix paths properly. Make ++ # sure there is at least one set of four (4) backlasshes. ++ # NOTE: No Boost icon yet ++ set(CPACK_MONOLITHIC_INSTALL ON) # don't be modular for now ++ set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake\\\\Boost.bmp") ++# set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\MyExecutable.exe") ++ set(CPACK_NSIS_DISPLAY_NAME "Boost ${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR} prerelease") ++ set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.boost.org") ++ set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.boost.org") ++ set(CPACK_NSIS_CONTACT "boost-users@lists.boost.org") ++ set(CPACK_NSIS_MODIFY_PATH ON) ++ ++ # Encode the compiler name in the package ++ if (MSVC60) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc6") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual C++ 6") ++ elseif (MSVC70) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc7") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2002") ++ elseif (MSVC71) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc71") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2003") ++ elseif (MSVC80) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc8") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2005") ++ elseif (MSVC90) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-vc9") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Microsoft Visual Studio 2008") ++ elseif (BORLAND) ++ set(CPACK_PACKAGE_FILE_NAME "Boost-${BOOST_VERSION}-borland") ++ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_DISPLAY_NAME} for Borland C++ Builder") ++ endif (MSVC60) ++ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CPACK_NSIS_DISPLAY_NAME}") ++endif(WIN32 AND NOT UNIX) ++include(CPack) ++ ++if (FALSE) ++ option(BOOST_INSTALLER_ON_THE_FLY ++ "Whether to build installers that download components on-the-fly" OFF) ++ ++ if (BOOST_INSTALLER_ON_THE_FLY) ++ if(COMMAND cpack_configure_downloads) ++ cpack_configure_downloads( ++ "http://www.osl.iu.edu/~dgregor/Boost-CMake/${BOOST_VERSION}/" ++ ALL ADD_REMOVE) ++ endif() ++ endif() ++endif() ++########################################################################## ++ ++########################################################################## ++# Building Boost libraries # ++########################################################################## ++# Always include the directory where Boost's include files will be. ++if (TEST_INSTALLED_TREE) ++ # Use the headers from the installation directory ++ include_directories("${CMAKE_INSTALL_PREFIX}/${BOOST_HEADER_DIR}") ++elseif (BOOST_CMAKE_SELFTEST) ++ # Use selftest headers ++ include_directories("${BOOST_CMAKE_SELFTEST_ROOT}/include") ++ # and regular boost headers ++ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++ ++else() ++ # Use the headers directly from the Boost source tree (in boost/) ++ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++endif (TEST_INSTALLED_TREE) ++ ++# Boost.Build version 2 does this due to trouble with autolinking ++# during building and testing. ++# TODO: See if we can actually use auto-linking in our regression tests. ++add_definitions(-DBOOST_ALL_NO_LIB=1) ++ ++# ++# Get build space set up for exports file ++# ++set(BOOST_EXPORTS_FILE ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Exports.cmake ++ CACHE FILEPATH "File to export targets from boost build directory") ++ ++file(MAKE_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) ++file(REMOVE ${BOOST_EXPORTS_FILE}) ++ ++if(NOT INSTALL_VERSIONED) ++ set(pathelem "boost/") ++endif() ++ ++if (NOT BOOST_EXPORTS_INSTALL_DIR) ++ set(BOOST_EXPORTS_INSTALL_DIR ${BOOST_LIB_INSTALL_DIR} ++ CACHE STRING "Install location for cmake exports") ++endif() ++ ++mark_as_advanced(BOOST_EXPORTS_FILE) ++ ++# Add build rules for documentation ++add_subdirectory(doc) ++ ++# Add build rules for all of the Boost libraries ++add_subdirectory(libs) ++ ++# Add build rules for all of the Boost tools ++# TODO: On hold while I work on the modularity code ++add_subdirectory(tools) ++########################################################################## ++ ++if(NOT BOOST_ALL_COMPONENTS) ++ # ++ # This is a dummy target to suppress the warning from ++ # install(EXPORT,....) below. ++ # ++ add_executable(this_is_a_dummy_no_libs_were_built ++ ${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/main.cpp) ++ ++ install(TARGETS this_is_a_dummy_no_libs_were_built ++ EXPORT Boost ++ DESTINATION ${BOOST_LIB_INSTALL_DIR} ++ COMPONENT Boost) ++ ++endif() ++ ++install(EXPORT Boost DESTINATION ${BOOST_EXPORTS_INSTALL_DIR}) ++ ++add_subdirectory(tools/build/CMake) +diff --git a/CTestConfig.cmake b/CTestConfig.cmake +new file mode 100644 +index 0000000..aad2c82 +--- /dev/null ++++ b/CTestConfig.cmake +@@ -0,0 +1,21 @@ ++## This file should be placed in the root directory of your project. ++## Then modify the CMakeLists.txt file in the root directory of your ++## project to incorporate the testing dashboard. ++ ++message("--------------- CTestConfig.cmake --------------") ++set(CTEST_PROJECT_NAME "Boost") ++set(CTEST_NIGHTLY_START_TIME "03:00:00 EST") ++ ++set(CTEST_UPDATE_TYPE "git") ++ ++set(CTEST_DROP_METHOD "http") ++set(CTEST_DROP_SITE "my.cdash.org") ++set(CTEST_DROP_LOCATION "/submit.php?project=Boost") ++set(CTEST_DROP_SITE_CDASH TRUE) ++set(UPDATE_COMMAND "git") ++# ++# You're welcome to set these ++# ++#set(BUILD_PROJECTS "crc") ++#set(BUILD_TESTS "ALL") ++ +diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt +new file mode 100644 +index 0000000..2f40bc0 +--- /dev/null ++++ b/doc/CMakeLists.txt +@@ -0,0 +1,9 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (BUILD_DOCUMENTATION) ++ add_subdirectory(src) ++endif () +diff --git a/doc/src/CMakeLists.txt b/doc/src/CMakeLists.txt +new file mode 100644 +index 0000000..45de2eb +--- /dev/null ++++ b/doc/src/CMakeLists.txt +@@ -0,0 +1,19 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (BUILD_DOCUMENTATION_HTML) ++ # Install style sheets and the main Boost logo ++ install(FILES boostbook.css docutils.css reference.css ../../boost.png ++ DESTINATION share/boost-${BOOST_VERSION}/html) ++ ++ # Install images ++ install(DIRECTORY images ++ DESTINATION share/boost-${BOOST_VERSION}/html ++ COMPONENT Core ++ PATTERN "CVS" EXCLUDE ++ PATTERN ".svn" EXCLUDE) ++endif () ++ +diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt +new file mode 100644 +index 0000000..4f0c378 +--- /dev/null ++++ b/libs/CMakeLists.txt +@@ -0,0 +1,117 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# Find each subdirectory containing a CMakeLists.txt file, and include ++# it. This avoids the need to manually list which libraries in Boost ++# have CMakeLists.txt files. ++ ++# return a list of directories that we should add_subdirectory() ++macro(BOOST_COLLECT_SUBPROJECT_DIRECTORY_NAMES dirname varname filename) ++ file(GLOB globbed RELATIVE "${dirname}" "${dirname}/*/${filename}") ++ foreach(file ${globbed}) ++ get_filename_component(dir ${file} PATH) ++ set(${varname} ${${varname}} ${dir}) ++ endforeach() ++endmacro() ++ ++# Find all of the subdirectories with .cmake files in them. These are ++# the libraries with dependencies. ++boost_collect_subproject_directory_names(${BOOST_LIBS_PARENT_DIR} BOOST_MODULE_DIRS "module.cmake") ++foreach(subdir ${BOOST_MODULE_DIRS}) ++ include("${BOOST_LIBS_PARENT_DIR}/${subdir}/module.cmake") ++endforeach(subdir) ++ ++# Find all of the subdirectories with CMakeLists.txt files in ++# them. This contains all of the Boost libraries. ++boost_collect_subproject_directory_names(${BOOST_LIBS_PARENT_DIR} BOOST_SUBPROJECT_DIRS "CMakeLists.txt") ++ ++# Add all of the Boost projects in reverse topological order, so that ++# a library's dependencies show up before the library itself. ++set(CPACK_INSTALL_CMAKE_COMPONENTS_ALL) ++list(SORT BOOST_SUBPROJECT_DIRS) ++topological_sort(BOOST_SUBPROJECT_DIRS BOOST_ _DEPENDS) ++ ++# ++# Sanity-check for typos: all projects in BUILD_PROJECTS must exist ++# ++if ((NOT BUILD_PROJECTS STREQUAL "ALL") AND (NOT BUILD_PROJECTS STREQUAL "NONE")) ++ foreach(project ${BUILD_PROJECTS}) ++ list(FIND BOOST_SUBPROJECT_DIRS ${project} THIS_SUBPROJECT_DIRS_INDEX) ++ if (THIS_SUBPROJECT_DIRS_INDEX LESS 0) ++ message(FATAL_ERROR "Nonexistant project \"${project}\" specified in BUILD_PROJECTS. These project names should be all lowercase.") ++ endif() ++ endforeach() ++endif() ++ ++set(BOOST_TEST_PROJECTS "" CACHE INTERNAL "hi" FORCE) ++ ++# ++# include only directories of projects in BUILD_PROJECTS ++# ++message(STATUS "") ++colormsg(_HIBLUE_ "Reading boost project directories (per BUILD_PROJECTS)") ++message(STATUS "") ++set(BOOST_ALL_COMPONENTS "") ++ ++foreach(subdir ${BOOST_SUBPROJECT_DIRS}) ++ list(FIND BUILD_PROJECTS ${subdir} THIS_BUILD_PROJECTS_INDEX) ++ if ((THIS_BUILD_PROJECTS_INDEX GREATER -1) OR (BUILD_PROJECTS STREQUAL "ALL")) ++ message(STATUS "+ ${subdir}") ++ add_subdirectory(${BOOST_LIBS_PARENT_DIR}/${subdir} ${CMAKE_BINARY_DIR}/libs/${subdir}) ++ endif() ++endforeach() ++ ++# ++# If we're doing selftests, add those selftest dirs ++# ++foreach(project ++ ${BOOST_CMAKE_SELFTEST_PROJECTS}) ++ colormsg(RED "* ${project}") ++ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../tools/build/CMake/selftest_projects/${project} ++ ${CMAKE_BINARY_DIR}/libs/${project}) ++endforeach() ++ ++ ++set(BOOST_ALL_COMPONENTS ${BOOST_ALL_COMPONENTS} PARENT_SCOPE) ++ ++if(BUILD_TESTS AND NOT BUILD_TESTS STREQUAL "NONE") ++ message(STATUS "") ++ colormsg(_HIBLUE_ "Traversing project test directories (per BUILD_TESTS)") ++ message(STATUS "") ++else() ++ message(STATUS "") ++ colormsg(HIGRAY "BUILD_TESTS is NONE: skipping test directories.") ++ message(STATUS "") ++endif() ++ ++foreach(PROJ ${BOOST_TEST_PROJECTS}) ++ string(TOLOWER ${PROJ} proj) ++ project(${proj}) ++ set(BOOST_PROJECT_NAME ${proj}) ++ foreach(dir ${BOOST_${PROJ}_TESTDIRS}) ++ message(STATUS "+ ${proj}") ++ add_subdirectory(${dir} ${CMAKE_BINARY_DIR}/libs/${proj}/test) ++ endforeach() ++endforeach() ++ ++# Write out a GraphViz file containing inter-library dependencies. ++set(BOOST_DEPENDENCY_GRAPHVIZ_FILE "${Boost_BINARY_DIR}/dependencies.dot") ++file(WRITE ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "digraph boost {\n") ++foreach(SUBDIR ${BOOST_SUBPROJECT_DIRS}) ++ string(TOUPPER "BOOST_${SUBDIR}_COMPILED_LIB" BOOST_COMPILED_LIB_VAR) ++ if (${BOOST_COMPILED_LIB_VAR}) ++ file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} " \"${SUBDIR}\" [style=\"filled\" fillcolor=\"#A3A27C\" shape=\"box\"];\n ") ++ endif (${BOOST_COMPILED_LIB_VAR}) ++ string(TOUPPER "BOOST_${SUBDIR}_DEPENDS" DEPENDS_VAR) ++ if(DEFINED ${DEPENDS_VAR}) ++ foreach(DEP ${${DEPENDS_VAR}}) ++ file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} ++ " \"${SUBDIR}\" -> \"${DEP}\";\n") ++ endforeach() ++ endif() ++endforeach() ++file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} " \"test\" [style=\"filled\" fillcolor=\"#A3A27C\" shape=\"box\"];\n ") ++file(APPEND ${BOOST_DEPENDENCY_GRAPHVIZ_FILE} "}\n") +diff --git a/libs/accumulators/CMakeLists.txt b/libs/accumulators/CMakeLists.txt +new file mode 100644 +index 0000000..373aadb +--- /dev/null ++++ b/libs/accumulators/CMakeLists.txt +@@ -0,0 +1,21 @@ ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ accumulators ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ accumulators ++ TESTDIRS test ++ EXAMPLEDIRS example ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ DESCRIPTION "A framework for incremental calculation, and a collection of statistical accumulators." ++ MODULARIZED ++ AUTHORS "Eric Niebler " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/accumulators/doc/CMakeLists.txt b/libs/accumulators/doc/CMakeLists.txt +new file mode 100644 +index 0000000..c603de0 +--- /dev/null ++++ b/libs/accumulators/doc/CMakeLists.txt +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++message(STATUS "accumulators/docs needs love") ++ +diff --git a/libs/accumulators/example/CMakeLists.txt b/libs/accumulators/example/CMakeLists.txt +new file mode 100644 +index 0000000..ee4fff0 +--- /dev/null ++++ b/libs/accumulators/example/CMakeLists.txt +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_executable(example main.cpp) ++ +diff --git a/libs/accumulators/module.cmake b/libs/accumulators/module.cmake +new file mode 100644 +index 0000000..30a47c4 +--- /dev/null ++++ b/libs/accumulators/module.cmake +@@ -0,0 +1 @@ ++boost_module(accumulators DEPENDS parameter typeof foreach) +\ No newline at end of file +diff --git a/libs/accumulators/test/CMakeLists.txt b/libs/accumulators/test/CMakeLists.txt +new file mode 100644 +index 0000000..b14dc54 +--- /dev/null ++++ b/libs/accumulators/test/CMakeLists.txt +@@ -0,0 +1,82 @@ ++# (C) Copyright 2005: Eric Niebler ++# Distributed under the Boost Software License, Version 1.0. ++# (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ++ ++# bring in rules for testing ++#import testing ; ++#import feature ; ++ ++#feature.feature iterator_debugging ++# : on off ++# : composite propagated optional ++# ; ++ ++#feature.compose off ++# : _HAS_ITERATOR_DEBUGGING=0 ++# ; ++ ++# project ++# : requirements ++# /boost/test//boost_unit_test_framework ++# static ++# ../../.. ++# msvc:_SCL_SECURE_NO_DEPRECATE ++# # MSVC's iterator debugging causes some tests to run forever. ++# msvc:off ++# intel-win:off ++# ; ++ ++boost_additional_test_dependencies(accumulators BOOST_DEPENDS test) ++ ++ ++set(TESTS ++count ++covariance ++droppable ++error_of ++extended_p_square ++extended_p_square_quantile ++external_accumulator ++external_weights ++kurtosis ++max ++mean ++median ++min ++moment ++pot_quantile ++p_square_cumulative_distribution ++p_square_quantile ++reference ++skewness ++sum ++tail ++tail_mean ++tail_quantile ++tail_variate_means ++valarray ++variance ++vector ++weighted_covariance ++weighted_extended_p_square ++weighted_kurtosis ++weighted_mean ++weighted_median ++weighted_moment ++weighted_p_square_cum_dist ++weighted_p_square_quantile ++weighted_skewness ++weighted_sum ++weighted_variance ++weighted_pot_quantile ++weighted_tail_mean ++weighted_tail_quantile ++weighted_tail_variate_means) ++ ++foreach(TEST ${TESTS}) ++ boost_test_run(${TEST} DEPENDS boost_unit_test_framework boost_serialization) ++endforeach(TEST ${TESTS}) ++ ++if(WIN32) ++ message("Need to turn on iterator debugging") ++endif(WIN32) +\ No newline at end of file +diff --git a/libs/algorithm/CMakeLists.txt b/libs/algorithm/CMakeLists.txt +new file mode 100644 +index 0000000..0f8d88c +--- /dev/null ++++ b/libs/algorithm/CMakeLists.txt +@@ -0,0 +1,22 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++ ++# Add a library target to the build system ++boost_library_project( ++ algorithm ++ # SRCDIRS ++ TESTDIRS minmax/test string/test ++ # EXAMPLEDIRS minmax/example string/example ++ HEADERS algorithm ++ # DOCDIRS ++ DESCRIPTION "A library of various algorithms." ++ MODULARIZED ++ AUTHORS "Pavol Droba " ++ "Herve Bronnimann " ++ # MAINTAINERS ++) +diff --git a/libs/algorithm/minmax/test/CMakeLists.txt b/libs/algorithm/minmax/test/CMakeLists.txt +new file mode 100644 +index 0000000..e70ce47 +--- /dev/null ++++ b/libs/algorithm/minmax/test/CMakeLists.txt +@@ -0,0 +1,10 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(algorithm BOOST_DEPENDS test) ++ ++boost_test_run(minmax_element_test) ++boost_test_run(minmax_test) +diff --git a/libs/algorithm/module.cmake b/libs/algorithm/module.cmake +new file mode 100644 +index 0000000..deb4bb2 +--- /dev/null ++++ b/libs/algorithm/module.cmake +@@ -0,0 +1,4 @@ ++boost_module(algorithm DEPENDS regex concept_check range) ++ ++ ++ +diff --git a/libs/algorithm/string/test/CMakeLists.txt b/libs/algorithm/string/test/CMakeLists.txt +new file mode 100644 +index 0000000..bbc383f +--- /dev/null ++++ b/libs/algorithm/string/test/CMakeLists.txt +@@ -0,0 +1,18 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(algorithm BOOST_DEPENDS test) ++ ++ ++boost_test_run(trim_test) ++boost_test_run(conv_test) ++boost_test_run(predicate_test) ++boost_test_run(find_test) ++boost_test_run(split_test) ++boost_test_run(join_test) ++boost_test_run(replace_test) ++boost_test_run(regex_test DEPENDS boost_regex SHARED) ++ +diff --git a/libs/any/CMakeLists.txt b/libs/any/CMakeLists.txt +new file mode 100644 +index 0000000..e6a4152 +--- /dev/null ++++ b/libs/any/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ any.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ any ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Safe, generic container for single values of different value types." ++ MODULARIZED ++ AUTHORS "Kevlin Henney" ++ MAINTAINERS "Alexander Nasonov " ++) ++ ++ +diff --git a/libs/any/module.cmake b/libs/any/module.cmake +new file mode 100644 +index 0000000..f47af03 +--- /dev/null ++++ b/libs/any/module.cmake +@@ -0,0 +1 @@ ++boost_module(any DEPENDS utility) +\ No newline at end of file +diff --git a/libs/any/test/CMakeLists.txt b/libs/any/test/CMakeLists.txt +new file mode 100644 +index 0000000..000fcab +--- /dev/null ++++ b/libs/any/test/CMakeLists.txt +@@ -0,0 +1,11 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(any BOOST_DEPENDS test) ++ ++boost_test_run(any_test ../any_test.cpp) ++boost_test_compile_fail(any_cast_cv_failed) ++ +diff --git a/libs/array/CMakeLists.txt b/libs/array/CMakeLists.txt +new file mode 100644 +index 0000000..ecdd503 +--- /dev/null ++++ b/libs/array/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ array.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ array ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "STL compliant container wrapper for arrays of constant size." ++ MODULARIZED ++ AUTHORS "Nicolai Josuttis" ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/array/module.cmake b/libs/array/module.cmake +new file mode 100644 +index 0000000..ccd2813 +--- /dev/null ++++ b/libs/array/module.cmake +@@ -0,0 +1 @@ ++boost_module(array DEPENDS utility) +\ No newline at end of file +diff --git a/libs/array/test/CMakeLists.txt b/libs/array/test/CMakeLists.txt +new file mode 100644 +index 0000000..379e7b1 +--- /dev/null ++++ b/libs/array/test/CMakeLists.txt +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(array BOOST_DEPENDS test) ++ ++boost_test_run(array0 array0.cpp) ++boost_test_run(array1 array1.cpp) ++boost_test_run(array2 array2.cpp) ++boost_test_run(array3 array3.cpp) ++boost_test_run(array4 array4.cpp) ++boost_test_run(array5 array5.cpp) +diff --git a/libs/asio/CMakeLists.txt b/libs/asio/CMakeLists.txt +new file mode 100644 +index 0000000..8ec4465 +--- /dev/null ++++ b/libs/asio/CMakeLists.txt +@@ -0,0 +1,64 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ asio.hpp ++ asio ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ asio ++ # SRCDIRS ++ TESTDIRS test ++ EXAMPLEDIRS ++ example/ssl ++ example/chat ++ example/echo ++ example/icmp ++ example/http/server2 ++ example/http/server3 ++ example/http/server4 ++ example/http/client ++ example/http/server ++ example/local ++ example/allocation ++ example/porthopper ++ example/invocation ++ example/multicast ++ example/serialization ++ example/iostreams ++ example/socks4 ++ example/timers ++ example/tutorial/daytime1 ++ example/tutorial/daytime2 ++ example/tutorial/daytime3 ++ example/tutorial/daytime4 ++ example/tutorial/daytime5 ++ example/tutorial/daytime6 ++ example/tutorial/daytime7 ++ example/tutorial/timer1 ++ example/tutorial/timer2 ++ example/tutorial/timer3 ++ example/tutorial/timer4 ++ example/tutorial/timer5 ++ example/services ++ example/timeouts ++ example/windows ++ example/nonblocking ++ example/buffers ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Portable networking, including sockets, timers, hostname resolution and socket iostreams." ++ MODULARIZED ++ AUTHORS "Chris Kohlhoff " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/asio/example/allocation/CMakeLists.txt b/libs/asio/example/allocation/CMakeLists.txt +new file mode 100644 +index 0000000..8c4b9fe +--- /dev/null ++++ b/libs/asio/example/allocation/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "allocation-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/buffers/CMakeLists.txt b/libs/asio/example/buffers/CMakeLists.txt +new file mode 100644 +index 0000000..b79f18f +--- /dev/null ++++ b/libs/asio/example/buffers/CMakeLists.txt +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ reference_counted ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff --git a/libs/asio/example/chat/CMakeLists.txt b/libs/asio/example/chat/CMakeLists.txt +new file mode 100644 +index 0000000..21e2118 +--- /dev/null ++++ b/libs/asio/example/chat/CMakeLists.txt +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ chat_server ++ chat_client ++ posix_chat_client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_thread ++ boost_system ++) ++endforeach( ++) +diff --git a/libs/asio/example/echo/CMakeLists.txt b/libs/asio/example/echo/CMakeLists.txt +new file mode 100644 +index 0000000..edd9561 +--- /dev/null ++++ b/libs/asio/example/echo/CMakeLists.txt +@@ -0,0 +1,17 @@ ++foreach( ++ example ++ blocking_udp_echo_server ++ async_udp_echo_server ++ blocking_udp_echo_client ++ blocking_tcp_echo_server ++ async_tcp_echo_server ++ blocking_tcp_echo_client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_thread ++ boost_system ++) ++endforeach( ++) +diff --git a/libs/asio/example/http/client/CMakeLists.txt b/libs/asio/example/http/client/CMakeLists.txt +new file mode 100644 +index 0000000..7d97665 +--- /dev/null ++++ b/libs/asio/example/http/client/CMakeLists.txt +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ async_client ++ sync_client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "client-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/http/server/CMakeLists.txt b/libs/asio/example/http/server/CMakeLists.txt +new file mode 100644 +index 0000000..2a45be8 +--- /dev/null ++++ b/libs/asio/example/http/server/CMakeLists.txt +@@ -0,0 +1,32 @@ ++if( ++ UNIX ++) ++set( ++ main_entry ++ posix_main.cpp ++) ++else( ++) ++set( ++ main_entry ++ win_main.cpp ++) ++endif( ++ UNIX ++) ++boost_add_executable( ++ main ++ ${main_entry} ++ connection.cpp ++ connection_manager.cpp ++ mime_types.cpp ++ reply.cpp ++ request_handler.cpp ++ request_parser.cpp ++ server.cpp ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "server-" ++) +diff --git a/libs/asio/example/http/server2/CMakeLists.txt b/libs/asio/example/http/server2/CMakeLists.txt +new file mode 100644 +index 0000000..e66a1b7 +--- /dev/null ++++ b/libs/asio/example/http/server2/CMakeLists.txt +@@ -0,0 +1,32 @@ ++if( ++ UNIX ++) ++set( ++ main_entry ++ posix_main.cpp ++) ++else( ++) ++set( ++ main_entry ++ win_main.cpp ++) ++endif( ++ UNIX ++) ++boost_add_executable( ++ main ++ ${main_entry} ++ connection.cpp ++ io_service_pool.cpp ++ mime_types.cpp ++ reply.cpp ++ request_handler.cpp ++ request_parser.cpp ++ server.cpp ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "server2-" ++) +diff --git a/libs/asio/example/http/server3/CMakeLists.txt b/libs/asio/example/http/server3/CMakeLists.txt +new file mode 100644 +index 0000000..0bd5667 +--- /dev/null ++++ b/libs/asio/example/http/server3/CMakeLists.txt +@@ -0,0 +1,31 @@ ++if( ++ UNIX ++) ++set( ++ main_entry ++ posix_main.cpp ++) ++else( ++) ++set( ++ main_entry ++ win_main.cpp ++) ++endif( ++ UNIX ++) ++boost_add_executable( ++ main ++ ${main_entry} ++ connection.cpp ++ mime_types.cpp ++ reply.cpp ++ request_handler.cpp ++ request_parser.cpp ++ server.cpp ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "server3-" ++) +diff --git a/libs/asio/example/http/server4/CMakeLists.txt b/libs/asio/example/http/server4/CMakeLists.txt +new file mode 100644 +index 0000000..d0285ee +--- /dev/null ++++ b/libs/asio/example/http/server4/CMakeLists.txt +@@ -0,0 +1,30 @@ ++if( ++ UNIX ++) ++set( ++ main_entry ++ posix_main.cpp ++) ++else( ++) ++set( ++ main_entry ++ win_main.cpp ++) ++endif( ++ UNIX ++) ++boost_add_executable( ++ main ++ ${main_entry} ++ file_handler.cpp ++ mime_types.cpp ++ reply.cpp ++ request_parser.cpp ++ server.cpp ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "server4-" ++) +diff --git a/libs/asio/example/icmp/CMakeLists.txt b/libs/asio/example/icmp/CMakeLists.txt +new file mode 100644 +index 0000000..e665cd4 +--- /dev/null ++++ b/libs/asio/example/icmp/CMakeLists.txt +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ ping ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff --git a/libs/asio/example/invocation/CMakeLists.txt b/libs/asio/example/invocation/CMakeLists.txt +new file mode 100644 +index 0000000..175160d +--- /dev/null ++++ b/libs/asio/example/invocation/CMakeLists.txt +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ prioritised_handlers ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff --git a/libs/asio/example/iostreams/CMakeLists.txt b/libs/asio/example/iostreams/CMakeLists.txt +new file mode 100644 +index 0000000..9323eb2 +--- /dev/null ++++ b/libs/asio/example/iostreams/CMakeLists.txt +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ daytime_server ++ daytime_client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "iostreams-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/local/CMakeLists.txt b/libs/asio/example/local/CMakeLists.txt +new file mode 100644 +index 0000000..e39a130 +--- /dev/null ++++ b/libs/asio/example/local/CMakeLists.txt +@@ -0,0 +1,15 @@ ++foreach( ++ example ++ stream_server ++ iostream_client ++ stream_client ++ connect_pair ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_thread ++ boost_system ++) ++endforeach( ++) +diff --git a/libs/asio/example/multicast/CMakeLists.txt b/libs/asio/example/multicast/CMakeLists.txt +new file mode 100644 +index 0000000..6b0d070 +--- /dev/null ++++ b/libs/asio/example/multicast/CMakeLists.txt +@@ -0,0 +1,12 @@ ++foreach( ++ example ++ sender ++ receiver ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff --git a/libs/asio/example/nonblocking/CMakeLists.txt b/libs/asio/example/nonblocking/CMakeLists.txt +new file mode 100644 +index 0000000..ea5572e +--- /dev/null ++++ b/libs/asio/example/nonblocking/CMakeLists.txt +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ third_party_lib ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff --git a/libs/asio/example/porthopper/CMakeLists.txt b/libs/asio/example/porthopper/CMakeLists.txt +new file mode 100644 +index 0000000..55bccba +--- /dev/null ++++ b/libs/asio/example/porthopper/CMakeLists.txt +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ server ++ client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "porthopper-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/serialization/CMakeLists.txt b/libs/asio/example/serialization/CMakeLists.txt +new file mode 100644 +index 0000000..a56ccb5 +--- /dev/null ++++ b/libs/asio/example/serialization/CMakeLists.txt +@@ -0,0 +1,15 @@ ++foreach( ++ example ++ server ++ client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_serialization ++ boost_system ++ TARGET_PREFIX ++ "serialization-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/services/CMakeLists.txt b/libs/asio/example/services/CMakeLists.txt +new file mode 100644 +index 0000000..d5e48dc +--- /dev/null ++++ b/libs/asio/example/services/CMakeLists.txt +@@ -0,0 +1,10 @@ ++boost_add_executable( ++ daytime_client ++ daytime_client.cpp ++ logger_service.cpp ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "services-" ++) +diff --git a/libs/asio/example/socks4/CMakeLists.txt b/libs/asio/example/socks4/CMakeLists.txt +new file mode 100644 +index 0000000..0158f10 +--- /dev/null ++++ b/libs/asio/example/socks4/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ sync_client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "socks4-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/ssl/CMakeLists.txt b/libs/asio/example/ssl/CMakeLists.txt +new file mode 100644 +index 0000000..ac181aa +--- /dev/null ++++ b/libs/asio/example/ssl/CMakeLists.txt +@@ -0,0 +1,17 @@ ++foreach( ++ example ++ server ++ client ++) ++boost_add_executable( ++ ${example} ++ LINK_LIBS ++ crypto ++ ssl ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "ssl-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/timeouts/CMakeLists.txt b/libs/asio/example/timeouts/CMakeLists.txt +new file mode 100644 +index 0000000..4ce73d5 +--- /dev/null ++++ b/libs/asio/example/timeouts/CMakeLists.txt +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ async_tcp_client ++ blocking_tcp_client ++ blocking_udp_client ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) +diff --git a/libs/asio/example/timers/CMakeLists.txt b/libs/asio/example/timers/CMakeLists.txt +new file mode 100644 +index 0000000..f945824 +--- /dev/null ++++ b/libs/asio/example/timers/CMakeLists.txt +@@ -0,0 +1,16 @@ ++boost_add_executable( ++ time_t_timer ++ DEPENDS ++ boost_system ++) ++if( ++ WIN32 ++) ++boost_add_executable( ++ tick_count_timer ++ DEPENDS ++ boost_system ++) ++endif( ++ WIN32 ++) +diff --git a/libs/asio/example/tutorial/daytime1/CMakeLists.txt b/libs/asio/example/tutorial/daytime1/CMakeLists.txt +new file mode 100644 +index 0000000..0e837c9 +--- /dev/null ++++ b/libs/asio/example/tutorial/daytime1/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime1-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/daytime2/CMakeLists.txt b/libs/asio/example/tutorial/daytime2/CMakeLists.txt +new file mode 100644 +index 0000000..0258bdd +--- /dev/null ++++ b/libs/asio/example/tutorial/daytime2/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime2-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/daytime3/CMakeLists.txt b/libs/asio/example/tutorial/daytime3/CMakeLists.txt +new file mode 100644 +index 0000000..d40fe01 +--- /dev/null ++++ b/libs/asio/example/tutorial/daytime3/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime3-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/daytime4/CMakeLists.txt b/libs/asio/example/tutorial/daytime4/CMakeLists.txt +new file mode 100644 +index 0000000..ed33fd6 +--- /dev/null ++++ b/libs/asio/example/tutorial/daytime4/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ client ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime4-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/daytime5/CMakeLists.txt b/libs/asio/example/tutorial/daytime5/CMakeLists.txt +new file mode 100644 +index 0000000..775b630 +--- /dev/null ++++ b/libs/asio/example/tutorial/daytime5/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime5-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/daytime6/CMakeLists.txt b/libs/asio/example/tutorial/daytime6/CMakeLists.txt +new file mode 100644 +index 0000000..d8c04bd +--- /dev/null ++++ b/libs/asio/example/tutorial/daytime6/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime6-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/daytime7/CMakeLists.txt b/libs/asio/example/tutorial/daytime7/CMakeLists.txt +new file mode 100644 +index 0000000..12c78dd +--- /dev/null ++++ b/libs/asio/example/tutorial/daytime7/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ server ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "daytime7-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/timer1/CMakeLists.txt b/libs/asio/example/tutorial/timer1/CMakeLists.txt +new file mode 100644 +index 0000000..21e6383 +--- /dev/null ++++ b/libs/asio/example/tutorial/timer1/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ timer ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "timer1-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/timer2/CMakeLists.txt b/libs/asio/example/tutorial/timer2/CMakeLists.txt +new file mode 100644 +index 0000000..1903bef +--- /dev/null ++++ b/libs/asio/example/tutorial/timer2/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ timer ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "timer2-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/timer3/CMakeLists.txt b/libs/asio/example/tutorial/timer3/CMakeLists.txt +new file mode 100644 +index 0000000..60f45b4 +--- /dev/null ++++ b/libs/asio/example/tutorial/timer3/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ timer ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "timer3-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/timer4/CMakeLists.txt b/libs/asio/example/tutorial/timer4/CMakeLists.txt +new file mode 100644 +index 0000000..b1c88dd +--- /dev/null ++++ b/libs/asio/example/tutorial/timer4/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ timer ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++ TARGET_PREFIX ++ "timer4-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/tutorial/timer5/CMakeLists.txt b/libs/asio/example/tutorial/timer5/CMakeLists.txt +new file mode 100644 +index 0000000..8171893 +--- /dev/null ++++ b/libs/asio/example/tutorial/timer5/CMakeLists.txt +@@ -0,0 +1,14 @@ ++foreach( ++ example ++ timer ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_thread ++ boost_system ++ TARGET_PREFIX ++ "timer5-" ++) ++endforeach( ++) +diff --git a/libs/asio/example/windows/CMakeLists.txt b/libs/asio/example/windows/CMakeLists.txt +new file mode 100644 +index 0000000..de980b2 +--- /dev/null ++++ b/libs/asio/example/windows/CMakeLists.txt +@@ -0,0 +1,17 @@ ++if( ++ WIN32 ++) ++foreach( ++ example ++ transmit_file ++) ++boost_add_executable( ++ ${example} ++ DEPENDS ++ boost_system ++) ++endforeach( ++) ++endif( ++ WIN32 ++) +diff --git a/libs/asio/module.cmake b/libs/asio/module.cmake +new file mode 100644 +index 0000000..7946162 +--- /dev/null ++++ b/libs/asio/module.cmake +@@ -0,0 +1,3 @@ ++boost_module(asio DEPENDS system date_time config exception) ++ ++ +diff --git a/libs/asio/test/CMakeLists.txt b/libs/asio/test/CMakeLists.txt +new file mode 100644 +index 0000000..647d5af +--- /dev/null ++++ b/libs/asio/test/CMakeLists.txt +@@ -0,0 +1,127 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(asio BOOST_DEPENDS test system) ++ ++set (dep_libs "") ++ ++if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") ++ set(dep_libs "pthread") ++ set(os_defines "-D_XOPEN_SOURCE=600 -D_GNU_SOURCE=1") ++endif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") ++ ++if (${CMAKE_SYSTEM_NAME} STREQUAL "Solaris") ++ set(dep_libs "socket;nsl") ++ set(os_defines "-D_XOPEN_SOURCE=500 -D__EXTENSIONS__") ++endif(${CMAKE_SYSTEM_NAME} STREQUAL "Solaris") ++ ++if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") ++ set(dep_libs "ws2_32;mswsock") ++ set(os_defines "-D_WIN32_WINNT=0x0501") ++endif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") ++ ++if (CYGWIN) ++ set(os_defines "-D__USE_W32_SOCKETS") ++endif(CYGWIN) ++ ++if (${CMAKE_SYSTEM_NAME} STREQUAL "hpux") ++ set(dep_libs "ipv6") ++ set(os_defines "-D_XOPEN_SOURCE_EXTENDED") ++endif(${CMAKE_SYSTEM_NAME} STREQUAL "hpux") ++ ++message(STATUS "!!!> missing some qnx stuff") ++ ++set (USE_SELECT "-DBOOST_ASIO_DISABLE_DEV_POLL -DBOOST_ASIO_DISABLE_EPOLL -DBOOST_ASIO_DISABLE_KQUEUE -DBOOST_ASIO_DISABLE_IOCP") ++ ++set (depends "boost_system-mt-static;boost_date_time-mt-static;boost_thread-mt-static") ++ ++set (os_defines "${os_defines} -DBOOST_ALL_NO_LIB=1") ++ ++macro(asio_test_run NAME) ++ boost_test_run(${NAME} ${NAME}.cpp ++ COMPILE_FLAGS "${os_defines}" ++ LINK_LIBS "${dep_libs}" ++ DEPENDS ${depends} ++ ) ++ boost_test_run(${NAME}_select ${NAME}.cpp ++ COMPILE_FLAGS "${os_defines} ${USE_SELECT}" ++ LINK_LIBS "${dep_libs}" ++ DEPENDS ${depends} ++ ) ++endmacro(asio_test_run) ++ ++macro(asio_test_link NAME) ++ boost_test_link(${NAME} ${NAME}.cpp ++ COMPILE_FLAGS "${os_defines}" ++ LINK_LIBS "${dep_libs}" ++ DEPENDS "${depends}" ++ ) ++ boost_test_link(${NAME}_select ${NAME}.cpp ++ COMPILE_FLAGS "${os_defines} ${USE_SELECT}" ++ LINK_LIBS "${dep_libs}" ++ DEPENDS "${depends}" ++ ) ++endmacro(asio_test_link) ++ ++foreach(test ++ basic_datagram_socket ++ basic_deadline_timer ++ basic_socket_acceptor ++ basic_stream_socket ++ completion_condition ++ datagram_socket_service ++ deadline_timer_service ++ socket_acceptor_service ++ stream_socket_service ++ time_traits ++ ) ++ asio_test_link(${test}) ++endforeach() ++ ++foreach(test ++ buffer ++ buffered_read_stream ++ buffered_stream ++ buffered_write_stream ++ buffers_iterator ++ deadline_timer ++ error ++ io_service ++ placeholders ++ is_read_buffered ++ is_write_buffered ++ read ++ read_at ++ read_until ++ socket_base ++ strand ++ write ++ write_at ++ ) ++ asio_test_run(${test}) ++endforeach() ++ ++add_subdirectory(ip) ++add_subdirectory(local) ++add_subdirectory(posix) ++ ++# Test Windows specific Behaviors ++if (MSVC) ++ foreach(test ++ windows_basic_handle ++ windows_basic_random_access_handle ++ windows_basic_stream_handle ++ windows_overlapped_ptr ++ windows_random_access_handle ++ windows_random_access_handle_service ++ windows_stream_handle ++ windows_stream_handle_service ++ ) ++ boost_test_link(${test}) ++ endforeach() ++endif (MSVC) ++ ++add_subdirectory(ssl) +\ No newline at end of file +diff --git a/libs/asio/test/ip/CMakeLists.txt b/libs/asio/test/ip/CMakeLists.txt +new file mode 100644 +index 0000000..d68290b +--- /dev/null ++++ b/libs/asio/test/ip/CMakeLists.txt +@@ -0,0 +1,32 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++foreach(test ++ address ++ address_v4 ++ address_v6 ++ basic_endpoint ++ basic_resolver ++ basic_resolver_entry ++ basic_resolver_iterator ++ basic_resolver_query ++ resolver_query_base ++ resolver_service ++ ) ++ asio_test_link(${test}) ++endforeach() ++ ++foreach(test ++ host_name ++ multicast ++ tcp ++ udp ++ unicast ++ v6_only) ++ asio_test_run(${test}) ++endforeach() ++ ++ +diff --git a/libs/asio/test/local/CMakeLists.txt b/libs/asio/test/local/CMakeLists.txt +new file mode 100644 +index 0000000..4ae5436 +--- /dev/null ++++ b/libs/asio/test/local/CMakeLists.txt +@@ -0,0 +1,16 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++foreach(test ++ basic_endpoint ++ connect_pair ++ datagram_protocol ++ stream_protocol ++ ) ++ asio_test_link(${test}) ++endforeach() ++ ++ +diff --git a/libs/asio/test/posix/CMakeLists.txt b/libs/asio/test/posix/CMakeLists.txt +new file mode 100644 +index 0000000..743f822 +--- /dev/null ++++ b/libs/asio/test/posix/CMakeLists.txt +@@ -0,0 +1,17 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++foreach(test ++ basic_descriptor ++ basic_stream_descriptor ++ descriptor_base ++ stream_descriptor ++ stream_descriptor_service ++ ) ++ asio_test_link(${test}) ++endforeach() ++ ++ +diff --git a/libs/asio/test/ssl/CMakeLists.txt b/libs/asio/test/ssl/CMakeLists.txt +new file mode 100644 +index 0000000..d01c7da +--- /dev/null ++++ b/libs/asio/test/ssl/CMakeLists.txt +@@ -0,0 +1,78 @@ ++# ++# Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com) ++# ++# Distributed under the Boost Software License, Version 1.0. (See accompanying ++# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ++# ++ ++# import os ; ++# import feature ; ++# ++# lib ssl ; ++# lib crypto ; ++# ++# if [ os.name ] = SOLARIS ++# { ++# lib socket ; ++# lib nsl ; ++# } ++# else if [ os.name ] = NT ++# { ++# lib ws2_32 ; ++# lib mswsock ; ++# } ++# else if [ os.name ] = HPUX ++# { ++# lib ipv6 ; ++# } ++ ++#local USE_SELECT = ++# BOOST_ASIO_DISABLE_EPOLL ++# BOOST_ASIO_DISABLE_KQUEUE ++# BOOST_ASIO_DISABLE_IOCP ++# ; ++ ++#project ++# : requirements ++# /boost/date_time//boost_date_time ++# /boost/thread//boost_thread ++# BOOST_ALL_NO_LIB=1 ++# multi ++# SOLARIS:socket ++# SOLARIS:nsl ++# NT:_WIN32_WINNT=0x0501 ++# NT,gcc:ws2_32 ++# NT,gcc:mswsock ++# NT,gcc-cygwin:__USE_W32_SOCKETS ++# HPUX,gcc:_XOPEN_SOURCE_EXTENDED ++# HPUX:ipv6 ++# ; ++ ++foreach (test ++ basic_context ++ context_base ++ context_service ++ context ++ stream_base ++ stream_service ++ stream) ++ boost_test_compile(${test}) ++ boost_test_compile(${test}_select ${test}.cpp COMPILE_FLAGS ${USE_SELECT}) ++endforeach() ++ ++ ++# [ compile basic_context.cpp ] ++# [ compile basic_context.cpp : $(USE_SELECT) : basic_context_select ] ++# [ compile context_base.cpp ] ++# [ compile context_base.cpp : $(USE_SELECT) : context_base_select ] ++# [ compile context_service.cpp ] ++# [ compile context_service.cpp : $(USE_SELECT) : context_service_select ] ++# [ compile context.cpp ] ++# [ compile context.cpp : $(USE_SELECT) : context_select ] ++# [ compile stream_base.cpp ] ++# [ compile stream_base.cpp : $(USE_SELECT) : stream_base_select ] ++# [ compile stream_service.cpp ] ++# [ compile stream_service.cpp : $(USE_SELECT) : stream_service_select ] ++# [ compile stream.cpp ] ++# [ compile stream.cpp : $(USE_SELECT) : stream_select ] ++# ; +diff --git a/libs/assign/CMakeLists.txt b/libs/assign/CMakeLists.txt +new file mode 100644 +index 0000000..0bae12d +--- /dev/null ++++ b/libs/assign/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ assign ++ assign.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ assign ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Filling containers with constant or generated data has never been easier." ++ MODULARIZED ++ AUTHORS "Thorsten Ottosen " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/assign/module.cmake b/libs/assign/module.cmake +new file mode 100644 +index 0000000..f67e4bc +--- /dev/null ++++ b/libs/assign/module.cmake +@@ -0,0 +1 @@ ++boost_module(assign DEPENDS ptr_container) +\ No newline at end of file +diff --git a/libs/assign/test/CMakeLists.txt b/libs/assign/test/CMakeLists.txt +new file mode 100644 +index 0000000..9570438 +--- /dev/null ++++ b/libs/assign/test/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(assign BOOST_DEPENDS test multi_index) ++ ++SET(TESTS ++ basic ++ std ++ list_of ++ ptr_list_of ++ static_list_of ++ tuple_list_of ++ list_inserter ++ ptr_list_inserter ++ ptr_map_inserter ++ list_of_workaround ++ email_example ++ my_vector_example) ++ ++FOREACH(test ${TESTS}) ++ boost_test_run(${test} DEPENDS boost_unit_test_framework) ++ENDFOREACH(test ${TESTS}) ++ ++boost_test_run(multi_index_container ++ DEPENDS boost_unit_test_framework boost_serialization) +diff --git a/libs/bimap/CMakeLists.txt b/libs/bimap/CMakeLists.txt +new file mode 100644 +index 0000000..ac963f7 +--- /dev/null ++++ b/libs/bimap/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ bimap.hpp ++ bimap ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ bimap ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Bidirectional map containers" ++ MODULARIZED ++ AUTHORS "Matias Capeletto " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/bimap/module.cmake b/libs/bimap/module.cmake +new file mode 100644 +index 0000000..f796fac +--- /dev/null ++++ b/libs/bimap/module.cmake +@@ -0,0 +1 @@ ++boost_module(bimap DEPENDS xpressive property_map) +\ No newline at end of file +diff --git a/libs/bimap/test/CMakeLists.txt b/libs/bimap/test/CMakeLists.txt +new file mode 100644 +index 0000000..2b3fb41 +--- /dev/null ++++ b/libs/bimap/test/CMakeLists.txt +@@ -0,0 +1,49 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(bimap BOOST_DEPENDS test serialization multi_index functional typeof lambda assign) ++ ++boost_test_run(test_tagged) ++boost_test_run(test_structured_pair) ++boost_test_run(test_mutant) ++boost_test_run(test_mutant_relation) ++boost_test_run(test_bimap_set_of) ++boost_test_run(test_bimap_multiset_of) ++boost_test_run(test_bimap_unordered_set_of) ++boost_test_run(test_bimap_unordered_multiset_of) ++boost_test_run(test_bimap_list_of) ++boost_test_run(test_bimap_vector_of) ++boost_test_run(test_bimap_ordered) ++boost_test_run(test_bimap_unordered) ++boost_test_run(test_bimap_sequenced) ++boost_test_run(test_bimap_unconstrained) ++boost_test_run(test_bimap_assign) ++boost_test_run(test_bimap_property_map) ++boost_test_run(test_bimap_modify) ++boost_test_run(test_bimap_range) ++boost_test_run(test_bimap_operator_bracket) ++boost_test_run(test_bimap_lambda) ++boost_test_run(test_bimap_mutable) ++boost_test_run(test_bimap_extra) ++boost_test_run(test_bimap_convenience_header) ++boost_test_run(test_bimap_project) ++boost_test_run(test_bimap_serialization DEPENDS boost_serialization) ++boost_test_run(test_bimap_info) ++boost_test_compile_fail(test_bimap_mutable_1 compile_fail/test_bimap_mutable_1.cpp) ++boost_test_compile_fail(test_bimap_mutable_2 compile_fail/test_bimap_mutable_2.cpp) ++boost_test_compile_fail(test_bimap_mutable_3 compile_fail/test_bimap_mutable_3.cpp) ++boost_test_compile_fail(test_bimap_info_1 compile_fail/test_bimap_info_1.cpp) ++boost_test_compile_fail(test_bimap_info_2 compile_fail/test_bimap_info_2.cpp) ++boost_test_compile_fail(test_bimap_info_3 compile_fail/test_bimap_info_3.cpp) ++boost_test_run(bimap_and_boost_property_map ../example/bimap_and_boost/property_map.cpp) ++boost_test_run(bimap_and_boost_range ../example/bimap_and_boost/range.cpp) ++boost_test_run(bimap_and_boost_foreach ../example/bimap_and_boost/foreach.cpp) ++boost_test_run(bimap_and_boost_lambda ../example/bimap_and_boost/lambda.cpp) ++boost_test_run(bimap_and_boost_assign ../example/bimap_and_boost/assign.cpp) ++boost_test_run(bimap_and_boost_xpressive ../example/bimap_and_boost/xpressive.cpp) ++boost_test_run(bimap_and_boost_typeof ../example/bimap_and_boost/typeof.cpp) ++boost_test_compile(bimap_and_boost_serialization ++ ../example/bimap_and_boost/serialization.cpp) +diff --git a/libs/bind/CMakeLists.txt b/libs/bind/CMakeLists.txt +new file mode 100644 +index 0000000..127ae27 +--- /dev/null ++++ b/libs/bind/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ bind.hpp ++ bind ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ bind ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A generalization of the standard functions std::bind1st and std::bind2nd. It supports arbitrary function objects, functions, function pointers, and member function pointers, and is able to bind any argument to a specific value or route input arguments into arbitrary positions." ++ MODULARIZED ++ AUTHORS "Peter Dimov " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/bind/module.cmake b/libs/bind/module.cmake +new file mode 100644 +index 0000000..beb4837 +--- /dev/null ++++ b/libs/bind/module.cmake +@@ -0,0 +1 @@ ++boost_module(bind DEPENDS utility mpl detail config) +\ No newline at end of file +diff --git a/libs/bind/test/CMakeLists.txt b/libs/bind/test/CMakeLists.txt +new file mode 100644 +index 0000000..9512e2e +--- /dev/null ++++ b/libs/bind/test/CMakeLists.txt +@@ -0,0 +1,47 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(bind BOOST_DEPENDS test) ++ ++SET(tests ++ bind_test ++ bind_dm_test ++ bind_eq_test ++ bind_const_test ++ bind_cv_test ++ bind_stateful_test ++ bind_dm2_test ++ bind_not_test ++ bind_rel_test ++ bind_function_test ++ bind_lookup_problem_test ++ bind_rv_sp_test ++ bind_dm3_test ++ bind_visit_test ++ bind_placeholder_test ++ bind_rvalue_test ++ bind_and_or_test ++ mem_fn_test ++ mem_fn_void_test ++ mem_fn_derived_test ++ mem_fn_eq_test ++ mem_fn_dm_test ++ mem_fn_rv_test ++ ref_fn_test ++ bind_fnobj2_test ++ bind_fn2_test ++ bind_mf2_test ++ bind_eq2_test ++ mem_fn_ref_test ++ bind_ref_test ++ bind_eq3_test ++ ) ++FOREACH(test ${tests}) ++ boost_test_run(${test}) ++ENDFOREACH(test ${tests}) ++ ++boost_test_compile(bind_unary_addr) ++ +diff --git a/libs/circular_buffer/CMakeLists.txt b/libs/circular_buffer/CMakeLists.txt +new file mode 100644 +index 0000000..cb2fa50c0 +--- /dev/null ++++ b/libs/circular_buffer/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ circular_buffer.hpp ++ circular_buffer_fwd.hpp ++ circular_buffer ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ circular_buffer ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "STL compliant container also known as ring or cyclic buffer." ++ MODULARIZED ++ AUTHORS "Jan Gaspar " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/circular_buffer/module.cmake b/libs/circular_buffer/module.cmake +new file mode 100644 +index 0000000..1d36e4d +--- /dev/null ++++ b/libs/circular_buffer/module.cmake +@@ -0,0 +1 @@ ++boost_module (circular_buffer DEPENDS config thread) +\ No newline at end of file +diff --git a/libs/circular_buffer/test/CMakeLists.txt b/libs/circular_buffer/test/CMakeLists.txt +new file mode 100644 +index 0000000..2637050 +--- /dev/null ++++ b/libs/circular_buffer/test/CMakeLists.txt +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(circular_buffer BOOST_DEPENDS test ) ++ ++ ++boost_test_run(base_test SINGLE_THREADED) ++boost_test_run(space_optimized_test SINGLE_THREADED) ++boost_test_run(soft_iterator_invalidation SINGLE_THREADED) ++boost_test_compile(bounded_buffer_comparison) +\ No newline at end of file +diff --git a/libs/compatibility/CMakeLists.txt b/libs/compatibility/CMakeLists.txt +new file mode 100644 +index 0000000..da5bee2 +--- /dev/null ++++ b/libs/compatibility/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ compatibility ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ compatibility ++ # SRCDIRS ++ # TESTDIRS ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/compatibility/module.cmake b/libs/compatibility/module.cmake +new file mode 100644 +index 0000000..2561216 +--- /dev/null ++++ b/libs/compatibility/module.cmake +@@ -0,0 +1,2 @@ ++boost_module(compatibility) ++ +diff --git a/libs/concept_check/CMakeLists.txt b/libs/concept_check/CMakeLists.txt +new file mode 100644 +index 0000000..073ef90 +--- /dev/null ++++ b/libs/concept_check/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ concept_check.hpp ++ concept_archetype.hpp ++ concept_check ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ concept_check ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Tools for generic programming." ++ MODULARIZED ++ AUTHORS "Jeremy Siek " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/concept_check/module.cmake b/libs/concept_check/module.cmake +new file mode 100644 +index 0000000..7deef63 +--- /dev/null ++++ b/libs/concept_check/module.cmake +@@ -0,0 +1 @@ ++boost_module(concept_check DEPENDS preprocessor) +\ No newline at end of file +diff --git a/libs/concept_check/test/CMakeLists.txt b/libs/concept_check/test/CMakeLists.txt +new file mode 100644 +index 0000000..fea159f +--- /dev/null ++++ b/libs/concept_check/test/CMakeLists.txt +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(concept_check BOOST_DEPENDS utility) ++ ++# this fails but looks like it isn't the build ++# boost_test_run(../stl_concept_covering) ++boost_test_run(concept_check_test ../concept_check_test.cpp) ++boost_test_run(class_concept_check_test ../class_concept_check_test.cpp) ++boost_test_compile_fail(concept_check_fail_expected ../concept_check_fail_expected.cpp) ++boost_test_compile_fail(class_concept_fail_expected ../class_concept_fail_expected.cpp) +diff --git a/libs/config/CMakeLists.txt b/libs/config/CMakeLists.txt +new file mode 100644 +index 0000000..0933327 +--- /dev/null ++++ b/libs/config/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ config.hpp ++ config ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ config ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users." ++ MODULARIZED ++ AUTHORS "John Maddock " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/config/module.cmake b/libs/config/module.cmake +new file mode 100644 +index 0000000..e69de29 +diff --git a/libs/config/test/CMakeLists.txt b/libs/config/test/CMakeLists.txt +new file mode 100644 +index 0000000..1e31993 +--- /dev/null ++++ b/libs/config/test/CMakeLists.txt +@@ -0,0 +1,37 @@ ++# Copyright John Maddock and Douglas Gregor. ++# Use, modification and distribution are subject to the ++# Boost Software License, Version 1.0. (See accompanying file ++# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ++if(MSVC) ++ set(BOOST_CONFIG_MSVC_STATIC_OPTIONS STATIC STATIC_RUNTIME) ++endif(MSVC) ++if(BORLAND) ++ set(BOOST_CONFIG_BORLAND_STATIC_OPTIONS STATIC STATIC_RUNTIME) ++endif(BORLAND) ++ ++if(CMAKE_SYSTEM_NAME MATCHES "Linux") ++ set(BOOST_CONFIG_STATIC_THREAD_LIBS LINK_LIBS pthread rt) ++endif(CMAKE_SYSTEM_NAME MATCHES "Linux") ++ ++boost_additional_test_dependencies(config BOOST_DEPENDS test) ++ ++boost_test_run(config_test_threaded config_test.cpp ++ EXTRA_OPTIONS MULTI_THREADED) ++ ++boost_test_run(config_test ++ EXTRA_OPTIONS SINGLE_THREADED ${BOOST_CONFIG_MSVC_STATIC_OPTIONS} ++ ${BOOST_CONFIG_STATIC_THREAD_LIBS}) ++boost_test_run(config_info_threaded config_info.cpp ++ EXTRA_OPTIONS MULTI_THREADED) ++boost_test_run(config_info ++ EXTRA_OPTIONS SINGLE_THREADED ${BOOST_CONFIG_MSVC_STATIC_OPTIONS}) ++boost_test_run(math_info ++ EXTRA_OPTIONS ${BOOST_CONFIG_BORLAND_STATIC_OPTIONS}) ++ ++ ++boost_test_run(limits_test DEPENDS boost_test_exec_monitor) ++boost_test_run(abi_test abi/abi_test.cpp abi/main.cpp) ++ ++# TODO: config_link_test ++boost_test_compile_fail(test_thread_fail1 threads/test_thread_fail1.cpp) ++boost_test_compile_fail(test_thread_fail2 threads/test_thread_fail2.cpp) +\ No newline at end of file +diff --git a/libs/conversion/CMakeLists.txt b/libs/conversion/CMakeLists.txt +new file mode 100644 +index 0000000..3badd19 +--- /dev/null ++++ b/libs/conversion/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ conversion ++ # SRCDIRS ++ TESTDIRS test ++ # HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Polymorphic and lexical casts" ++ # MODULARIZED ++ AUTHORS "David Abrahams " ++ "Kevlin Henney" ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/conversion/test/CMakeLists.txt b/libs/conversion/test/CMakeLists.txt +new file mode 100644 +index 0000000..7b10f31 +--- /dev/null ++++ b/libs/conversion/test/CMakeLists.txt +@@ -0,0 +1,20 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(conversion BOOST_DEPENDS test detail numeric) ++ ++boost_test_run(implicit_cast) ++boost_test_compile_fail(implicit_cast_fail) ++boost_test_run(cast_test ../cast_test.cpp) ++boost_test_run(numeric_cast_test ../numeric_cast_test.cpp) ++boost_test_run( ++ lexical_cast_test ++ ../lexical_cast_test.cpp ++ DEPENDS boost_unit_test_framework ++) ++ ++ ++ +diff --git a/libs/crc/CMakeLists.txt b/libs/crc/CMakeLists.txt +new file mode 100644 +index 0000000..e416771 +--- /dev/null ++++ b/libs/crc/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ crc.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ crc ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "The Boost CRC Library provides two implementations of CRC (cyclic redundancy code) computation objects and two implementations of CRC computation functions. The implementations are template-based." ++ MODULARIZED ++ AUTHORS "Daryle Walker " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/crc/module.cmake b/libs/crc/module.cmake +new file mode 100644 +index 0000000..af56199 +--- /dev/null ++++ b/libs/crc/module.cmake +@@ -0,0 +1 @@ ++boost_module(crc DEPENDS integer config) +\ No newline at end of file +diff --git a/libs/crc/test/CMakeLists.txt b/libs/crc/test/CMakeLists.txt +new file mode 100644 +index 0000000..588863b +--- /dev/null ++++ b/libs/crc/test/CMakeLists.txt +@@ -0,0 +1,10 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(crc BOOST_DEPENDS test random) ++ ++boost_test_run(crc_test crc_test.cpp) ++ +diff --git a/libs/date_time/CMakeLists.txt b/libs/date_time/CMakeLists.txt +new file mode 100644 +index 0000000..4fe4364 +--- /dev/null ++++ b/libs/date_time/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ date_time.hpp ++ date_time ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ date_time ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A set of date-time libraries based on generic programming concepts." ++ MODULARIZED ++ AUTHORS "Jeff Garland " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/date_time/module.cmake b/libs/date_time/module.cmake +new file mode 100644 +index 0000000..536947d +--- /dev/null ++++ b/libs/date_time/module.cmake +@@ -0,0 +1 @@ ++boost_module(date_time DEPENDS algorithm smart_ptr tokenizer io bind serialization) +\ No newline at end of file +diff --git a/libs/date_time/src/CMakeLists.txt b/libs/date_time/src/CMakeLists.txt +new file mode 100644 +index 0000000..3a07ef4 +--- /dev/null ++++ b/libs/date_time/src/CMakeLists.txt +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++add_definitions(-DBOOST_DATE_TIME_NO_LIB=1) ++boost_add_library( ++ date_time ++ gregorian/greg_month.cpp gregorian/greg_weekday.cpp gregorian/date_generators.cpp ++ STATIC_COMPILE_FLAGS -DBOOST_DATE_TIME_STATIC_LINK ++ SHARED_COMPILE_FLAGS -DBOOST_ALL_DYN_LINK=1 ++ ) +diff --git a/libs/date_time/test/CMakeLists.txt b/libs/date_time/test/CMakeLists.txt +new file mode 100644 +index 0000000..c7d1fe0 +--- /dev/null ++++ b/libs/date_time/test/CMakeLists.txt +@@ -0,0 +1,187 @@ ++boost_additional_test_dependencies(date_time BOOST_DEPENDS test bind) ++ ++# Core ++boost_test_run(testint_adapter) ++boost_test_run(testtime_resolution_traits) ++boost_test_run(testwrapping_int) ++boost_test_run(testconstrained_value) ++boost_test_run(testgregorian_calendar) ++boost_test_run(testgeneric_period) ++ ++set(DATE_TIME_COMPILE_FLAGS ++ "-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DBOOST_DATE_TIME_STATIC_LINK -DBOOST_ALL_NO_LIB") ++set(DATE_TIME_SHARED_COMPILE_FLAGS ++ "-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB") ++ ++# A macro that collects the common settings used to build a run test ++# for the Date-Time library that links statically. ++macro(date_time_static_test SUBDIR TESTNAME) ++ boost_test_run(${TESTNAME} ++ "${SUBDIR}/${TESTNAME}.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS ${DATE_TIME_COMPILE_FLAGS}) ++endmacro(date_time_static_test) ++ ++# A macro that collects the common settings used to build a run test ++# for the Date-Time library that links dynamically. ++macro(date_time_shared_test SUBDIR TESTNAME) ++ boost_test_run("${TESTNAME}_dll" ++ "${SUBDIR}/${TESTNAME}.cpp" ++ DEPENDS boost_date_time SHARED ++ COMPILE_FLAGS ${DATE_TIME_SHARED_COMPILE_FLAGS}) ++endmacro(date_time_shared_test) ++ ++# Gregorian ++date_time_static_test(gregorian testdate) ++date_time_static_test(gregorian testdate_duration) ++date_time_static_test(gregorian testgreg_durations) ++date_time_static_test(gregorian testperiod) ++date_time_static_test(gregorian testdate_iterator) ++date_time_static_test(gregorian testformatters) ++### streaming ++date_time_static_test(gregorian testdate_facet_new) ++date_time_static_test(gregorian testdate_input_facet) ++### ++date_time_static_test(gregorian testgenerators) ++date_time_static_test(gregorian testgreg_cal) ++date_time_static_test(gregorian testgreg_day) ++date_time_static_test(gregorian testgreg_month) ++date_time_static_test(gregorian testgreg_year) ++ ++date_time_shared_test(gregorian testdate) ++date_time_shared_test(gregorian testdate_duration) ++date_time_shared_test(gregorian testgreg_durations) ++date_time_shared_test(gregorian testperiod) ++date_time_shared_test(gregorian testdate_iterator) ++date_time_shared_test(gregorian testformatters) ++### streaming ++date_time_shared_test(gregorian testdate_facet_new) ++date_time_shared_test(gregorian testdate_input_facet) ++### ++date_time_shared_test(gregorian testgenerators) ++date_time_shared_test(gregorian testgreg_cal) ++date_time_shared_test(gregorian testgreg_day) ++date_time_shared_test(gregorian testgreg_month) ++date_time_shared_test(gregorian testgreg_year) ++ ++# POSIX Time ++date_time_static_test(posix_time testfiletime_functions) ++date_time_static_test(posix_time testlocal_adjustor) ++date_time_static_test(posix_time testc_local_adjustor) ++date_time_static_test(posix_time testclock) ++date_time_static_test(posix_time testdst_rules) ++date_time_static_test(posix_time testduration) ++date_time_static_test(posix_time testiterator) ++date_time_static_test(posix_time testparse_time) ++date_time_static_test(posix_time testtime_period) ++date_time_static_test(posix_time testtime) ++date_time_static_test(posix_time testmicrosec_time_clock) ++date_time_static_test(posix_time testtime_formatters) ++date_time_static_test(posix_time testgreg_duration_operators) ++### streaming ++date_time_static_test(posix_time testtime_facet) ++date_time_static_test(posix_time testtime_input_facet) ++### ++ ++# Wide streaming ++boost_test_run(testgreg_wstream ++ "gregorian/testgreg_wstream.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++boost_test_run(testtime_wstream ++ "posix_time/testtime_wstream.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++ ++# Pre-1.33 facets ++boost_test_run(testfacet_dll ++ "gregorian/testfacet.cpp" ++ DEPENDS boost_date_time SHARED ++ COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++# Note: This next test was commented out in the Jamfile.v2 because "it ++# crashes on VC6 (cause unknown)" ++boost_test_run(testparse_date_dll ++ "gregorian/testparse_date.cpp" ++ DEPENDS boost_date_time SHARED ++ COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++boost_test_run(testfacet ++ "gregorian/testfacet.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++boost_test_run(testparse_date ++ "gregorian/testparse_date.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++boost_test_run(teststreams ++ "posix_time/teststreams.cpp" ++ DEPENDS boost_date_time STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++ ++# Local time ++date_time_static_test(local_time testdst_transition_day_rule) ++date_time_static_test(local_time testcustom_time_zone) ++date_time_static_test(local_time testposix_time_zone) ++date_time_static_test(local_time testwcustom_time_zone) ++date_time_static_test(local_time testwposix_time_zone) ++ ++# we have to copy these into the binary dir because to make the ++# paths inside the tests match ++if (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) ++ FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/data") ++ execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/date_time/data/date_time_zonespec.csv" "${CMAKE_BINARY_DIR}/libs/date_time/data") ++ FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/test/local_time") ++ execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/date_time/test/local_time/poorly_formed_zonespec.csv" "${CMAKE_BINARY_DIR}/libs/date_time/test/local_time") ++endif (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) ++ ++date_time_static_test(local_time testtz_database) ++date_time_static_test(local_time testlocal_time) ++date_time_static_test(local_time testlocal_time_iterator) ++date_time_static_test(local_time testlocal_time_period) ++### streaming ++date_time_static_test(local_time testlocal_time_facet) ++date_time_static_test(local_time testlocal_time_input_facet) ++### ++date_time_static_test(local_time testclocks) ++ ++ ++set(DATE_TIME_COMPILE_FLAGS ++ "-DBOOST_DATE_TIME_STATIC_LINK -DBOOST_ALL_NO_LIB -DUSE_DATE_TIME_PRE_1_33_FACET_IO") ++ ++# Serialization ++ # xml archive tests ++boost_test_run(testgreg_serialize_xml ++ "gregorian/testgreg_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DDATE_TIME_XML_SERIALIZE") ++boost_test_run(testtime_serialize_xml_std_config ++ "posix_time/testtime_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DDATE_TIME_XML_SERIALIZE") ++boost_test_run(testtime_serialize_xml ++ "posix_time/testtime_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DDATE_TIME_XML_SERIALIZE") ++ ++ # text archive tests ++boost_test_run(testgreg_serialize ++ "gregorian/testgreg_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS}") ++boost_test_run(testgreg_serialize_dll ++ "gregorian/testgreg_serialize.cpp" ++ DEPENDS boost_date_time SHARED boost_serialization SHARED ++ COMPILE_FLAGS "${DATE_TIME_SHARED_COMPILE_FLAGS}") ++boost_test_run(testtime_serialize_std_config ++ "posix_time/testtime_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS} -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG") ++boost_test_run(testtime_serialize ++ "posix_time/testtime_serialize.cpp" ++ DEPENDS boost_date_time boost_serialization STATIC ++ COMPILE_FLAGS "${DATE_TIME_COMPILE_FLAGS}") ++ ++# Copyright (c) 2000-2005 ++# CrystalClear Software, Inc. ++# Subject to the Boost Software License, Version 1.0. ++# (See accompanying file LICENSE-1.0 or ++# http://www.boost.org/LICENSE-1.0) +diff --git a/libs/detail/CMakeLists.txt b/libs/detail/CMakeLists.txt +new file mode 100644 +index 0000000..b75d9b9 +--- /dev/null ++++ b/libs/detail/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ detail ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ detail ++ # SRCDIRS ++ # TESTDIRS ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users." ++ MODULARIZED ++ # AUTHORS "John Maddock " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/detail/module.cmake b/libs/detail/module.cmake +new file mode 100644 +index 0000000..123eff6 +--- /dev/null ++++ b/libs/detail/module.cmake +@@ -0,0 +1 @@ ++boost_module(detail DEPENDS integer) +\ No newline at end of file +diff --git a/libs/disjoint_sets/CMakeLists.txt b/libs/disjoint_sets/CMakeLists.txt +new file mode 100644 +index 0000000..88c4030 +--- /dev/null ++++ b/libs/disjoint_sets/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ disjoint_sets ++ # SRCDIRS ++ TESTDIRS test ++# HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Provides disjoint sets operations with union by rank and path compression." ++ # MODULARIZED ++ AUTHORS "Jeremy Siek " ++ "Lie-Quan Lee" ++ "Andrew Lumsdaine" ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/disjoint_sets/module.cmake b/libs/disjoint_sets/module.cmake +new file mode 100644 +index 0000000..bbec4d0 +--- /dev/null ++++ b/libs/disjoint_sets/module.cmake +@@ -0,0 +1 @@ ++boost_module (disjoint_sets DEPENDS test graph) +\ No newline at end of file +diff --git a/libs/disjoint_sets/test/CMakeLists.txt b/libs/disjoint_sets/test/CMakeLists.txt +new file mode 100644 +index 0000000..ad5dd5d +--- /dev/null ++++ b/libs/disjoint_sets/test/CMakeLists.txt +@@ -0,0 +1,7 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_test_run(disjoint_set_test ../disjoint_set_test.cpp) +diff --git a/libs/dynamic_bitset/CMakeLists.txt b/libs/dynamic_bitset/CMakeLists.txt +new file mode 100644 +index 0000000..4a08cf6 +--- /dev/null ++++ b/libs/dynamic_bitset/CMakeLists.txt +@@ -0,0 +1,30 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ dynamic_bitset.hpp ++ dynamic_bitset_fwd.hpp ++ dynamic_bitset ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ dynamic_bitset ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A runtime-sized version of std::bitset" ++ MODULARIZED ++ AUTHORS "Jeremy Siek " ++ "Chuck Allison" ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/dynamic_bitset/module.cmake b/libs/dynamic_bitset/module.cmake +new file mode 100644 +index 0000000..20b3200 +--- /dev/null ++++ b/libs/dynamic_bitset/module.cmake +@@ -0,0 +1 @@ ++boost_module(dynamic_bitset DEPENDS detail static_assert) +diff --git a/libs/dynamic_bitset/test/CMakeLists.txt b/libs/dynamic_bitset/test/CMakeLists.txt +new file mode 100644 +index 0000000..8ea25eb +--- /dev/null ++++ b/libs/dynamic_bitset/test/CMakeLists.txt +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(dynamic_bitset BOOST_DEPENDS test config) ++ ++ ++boost_test_run(dyn_bitset_unit_tests1 ../dyn_bitset_unit_tests1.cpp) ++boost_test_run(dyn_bitset_unit_tests2 ../dyn_bitset_unit_tests2.cpp) ++boost_test_run(dyn_bitset_unit_tests3 ../dyn_bitset_unit_tests3.cpp) ++boost_test_run(dyn_bitset_unit_tests4 ../dyn_bitset_unit_tests4.cpp) +diff --git a/libs/exception/CMakeLists.txt b/libs/exception/CMakeLists.txt +new file mode 100644 +index 0000000..e3f571f +--- /dev/null ++++ b/libs/exception/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ exception.hpp ++ exception_ptr.hpp ++ exception ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ exception ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ DESCRIPTION "A library for transporting of arbitrary data in exception objects, and transporting of exceptions between threads." ++ MODULARIZED ++ AUTHORS "Emil Dotchevski " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/exception/module.cmake b/libs/exception/module.cmake +new file mode 100644 +index 0000000..89d0eef +--- /dev/null ++++ b/libs/exception/module.cmake +@@ -0,0 +1 @@ ++boost_module(exception DEPENDS smart_ptr detail utility tuple) +\ No newline at end of file +diff --git a/libs/exception/test/CMakeLists.txt b/libs/exception/test/CMakeLists.txt +new file mode 100644 +index 0000000..98e8869 +--- /dev/null ++++ b/libs/exception/test/CMakeLists.txt +@@ -0,0 +1,55 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(exception BOOST_DEPENDS test) ++ ++boost_test_run(is_output_streamable_test) ++boost_test_run(has_to_string_test) ++boost_test_run(to_string_test) ++boost_test_run(to_string_stub_test) ++boost_test_compile_fail(to_string_fail) ++ ++#exception ++ ++boost_test_run(1-throw_exception_test) ++boost_test_run(2-throw_exception_no_exceptions_test) ++boost_test_run(3-throw_exception_no_integration_test) ++boost_test_run(4-throw_exception_no_both_test) ++boost_test_run(cloning_test) ++boost_test_run(copy_exception_test) ++boost_test_run(unknown_exception_test) ++boost_test_run(exception_test) ++boost_test_run(enable_error_info_test enable_error_info_test.cpp helper1.cpp) ++boost_test_run(throw_exception_test throw_exception_test.cpp helper2.cpp) ++boost_test_run(errno_test) ++boost_test_run(error_info_test) ++boost_test_run(diagnostic_information_test) ++boost_test_run(refcount_ptr_test) ++boost_test_run(current_exception_cast_test) ++message(STATUS "!!!> run no_exceptions_test.cpp : : : off ;") ++ ++boost_test_compile_fail(exception_fail) ++boost_test_compile_fail(throw_exception_fail) ++ ++# Compile headers tests ++set (compile_tests ++ exception_ptr_hpp_test ++ diagnostic_information_hpp_test ++ error_info_hpp_test ++ exception_hpp_test ++ get_error_info_hpp_test ++ info_hpp_test ++ info_tuple_hpp_test ++ to_string_hpp_test ++ to_string_stub_hpp_test ++ current_exception_cast_hpp_test ++ ) ++ ++#-- Create a Compile test for each source ++foreach(test ${compile_tests}) ++ boost_test_compile(${test} "${test}.cpp") ++endforeach(test ${compile_tests}) ++ +diff --git a/libs/filesystem/CMakeLists.txt b/libs/filesystem/CMakeLists.txt +new file mode 100644 +index 0000000..4d4138d +--- /dev/null ++++ b/libs/filesystem/CMakeLists.txt +@@ -0,0 +1,42 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ filesystem.hpp ++ filesystem ++ ) ++ ++# Add a library target to the build system ++boost_library_project( ++ filesystem ++ # SRCDIRS v3/src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Provides portable facilities to query and manipulate paths, files, and directories. Note: the default version is now v3: v2 is deprecated." ++ MODULARIZED ++ AUTHORS "Beman Dawes " ++ # MAINTAINERS ++ ) ++ ++boost_add_library( ++ filesystem ++ ++ v2/src/v2_operations.cpp v2/src/v2_path.cpp ++ v2/src/v2_portability.cpp ++ ++ v3/src/codecvt_error_category.cpp v3/src/operations.cpp ++ v3/src/path.cpp v3/src/path_traits.cpp v3/src/portability.cpp ++ v3/src/unique_path.cpp v3/src/utf8_codecvt_facet.cpp ++ v3/src/windows_file_codecvt.cpp ++ ++ SHARED_COMPILE_FLAGS "-DBOOST_FILESYSTEM_DYN_LINK=1" ++ STATIC_COMPILE_FLAGS "-DBOOST_FILESYSTEM_STATIC_LINK=1" ++ DEPENDS boost_system ++ ) +diff --git a/libs/filesystem/module.cmake b/libs/filesystem/module.cmake +new file mode 100644 +index 0000000..6cf6911 +--- /dev/null ++++ b/libs/filesystem/module.cmake +@@ -0,0 +1 @@ ++boost_module(filesystem DEPENDS system smart_ptr) +\ No newline at end of file +diff --git a/libs/filesystem/test/CMakeLists.txt b/libs/filesystem/test/CMakeLists.txt +new file mode 100644 +index 0000000..2bc7fd2 +--- /dev/null ++++ b/libs/filesystem/test/CMakeLists.txt +@@ -0,0 +1,30 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(filesystem BOOST_DEPENDS test bind) ++ ++ ++ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) # -DBOOST_FILESYSTEM_STATIC_LINK) ++ ++SET(TESTS path_test operations_test ++ fstream_test convenience_test ++ large_file_support_test wide_test) ++ ++FOREACH(test ${TESTS}) ++ boost_test_run(${test}_static ++ ${test}.cpp ++ DEPENDS boost_filesystem STATIC ++ COMPILE_FLAGS -DBOOST_FILESYSTEM_STATIC_LINK) ++ boost_test_run(${test}_dynamic ++ ${test}.cpp ++ DEPENDS boost_filesystem SHARED ++ COMPILE_FLAGS -DBOOST_FILESYSTEM_DYN_LINK) ++ENDFOREACH(test ${TESTS}) ++ ++boost_test_compile(mbcopy ../example/mbcopy.cpp) ++boost_test_compile(mbpath ../example/mbpath.cpp) ++boost_test_compile(simple_ls ../example/simple_ls.cpp) ++ +diff --git a/libs/filesystem/v2/src/CMakeLists.txt b/libs/filesystem/v2/src/CMakeLists.txt +new file mode 100644 +index 0000000..c11ee66 +--- /dev/null ++++ b/libs/filesystem/v2/src/CMakeLists.txt +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library( ++ filesystem ++ v2_operations.cpp v2_path.cpp v2_portability.cpp ++ SHARED_COMPILE_FLAGS "-DBOOST_FILESYSTEM_DYN_LINK=1" ++ STATIC_COMPILE_FLAGS "-DBOOST_FILESYSTEM_STATIC_LINK=1" ++ DEPENDS boost_system ++ ) ++ +diff --git a/libs/flyweight/CMakeLists.txt b/libs/flyweight/CMakeLists.txt +new file mode 100644 +index 0000000..542b728 +--- /dev/null ++++ b/libs/flyweight/CMakeLists.txt +@@ -0,0 +1,18 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# Add a library target to the build system ++boost_library_project( ++ flyweight ++ TESTDIRS test ++ HEADERS flyweight flyweight.hpp ++ # DOCDIRS ++ DESCRIPTION "Flyweights are small-sized handle classes granting constant access to shared common data, thus allowing for the management of large amounts of entities within reasonable memory limits. Boost.Flyweight makes it easy to use this common programming idiom by providing the class template flyweight, which acts as a drop-in replacement for const T." ++ MODULARIZED ++ AUTHORS "Joaqun M Lpez Muoz " ++) ++ ++ +diff --git a/libs/flyweight/module.cmake b/libs/flyweight/module.cmake +new file mode 100644 +index 0000000..51d4617 +--- /dev/null ++++ b/libs/flyweight/module.cmake +@@ -0,0 +1 @@ ++boost_module(flyweight DEPENDS mpl parameter preprocessor interprocess type_traits) +diff --git a/libs/flyweight/test/CMakeLists.txt b/libs/flyweight/test/CMakeLists.txt +new file mode 100644 +index 0000000..a343357 +--- /dev/null ++++ b/libs/flyweight/test/CMakeLists.txt +@@ -0,0 +1,53 @@ ++# Boost.Flyweight tests Jamfile ++# ++# Copyright 2006-2008 Joaqun M Lpez Muoz. ++# Distributed under the Boost Software License, Version 1.0. ++# (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++# ++# See http://www.boost.org/libs/flyweight for library home page. ++ ++find_package(Threads) ++ ++macro(flyweight_test testname) ++ boost_test_run(${testname} ++ test_${testname}.cpp test_${testname}_main.cpp ++ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT}) ++endmacro() ++ ++foreach(test ++ basic ++ custom_factory ++ init ++ multictor ++ no_locking ++ no_tracking ++ set_factory) ++ ++ flyweight_test(${test}) ++ ++endforeach() ++ ++# ++# test_assoc_cont_fact_main is irregularly named ++# ++boost_test_run(assoc_cont_factory ++ test_assoc_cont_factory.cpp test_assoc_cont_fact_main.cpp ++ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT}) ++ ++# ++# this one involves a dll ++# ++boost_add_library(intermod_holder_dll ++ intermod_holder_dll.cpp ++ COMPILE_FLAGS "-DBOOST_FLYWEIGHT_TEST_INTERMOD_HOLDER_DLL_SOURCE=1" ++ NO_SINGLE_THREADED ++ NO_STATIC ++ NO_INSTALL ++ ) ++ ++boost_test_run(intermod_holder ++ test_intermod_holder.cpp test_intermod_holder_main.cpp ++ LINK_LIBS ${CMAKE_THREAD_LIBS_INIT} ++ DEPENDS intermod_holder_dll) ++ +diff --git a/libs/foreach/CMakeLists.txt b/libs/foreach/CMakeLists.txt +new file mode 100644 +index 0000000..4006087 +--- /dev/null ++++ b/libs/foreach/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ foreach.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ foreach ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/foreach/module.cmake b/libs/foreach/module.cmake +new file mode 100644 +index 0000000..7501f4d +--- /dev/null ++++ b/libs/foreach/module.cmake +@@ -0,0 +1 @@ ++boost_module(foreach DEPENDS range) +\ No newline at end of file +diff --git a/libs/foreach/test/CMakeLists.txt b/libs/foreach/test/CMakeLists.txt +new file mode 100644 +index 0000000..4be0750 +--- /dev/null ++++ b/libs/foreach/test/CMakeLists.txt +@@ -0,0 +1,40 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(foreach BOOST_DEPENDS test ) ++ ++set(TESTS ++stl_byval ++stl_byval_r ++stl_byref ++stl_byref_r ++array_byval ++array_byval_r ++array_byref ++array_byref_r ++cstr_byval ++cstr_byval_r ++cstr_byref ++cstr_byref_r ++pair_byval ++pair_byval_r ++pair_byref ++pair_byref_r ++user_defined ++call_once ++rvalue_const ++rvalue_const_r ++rvalue_nonconst ++rvalue_nonconst_r ++dependent_type ++misc) ++ ++foreach(test ${TESTS}) ++ boost_test_run(${test}) ++endforeach(test ${TESTS}) ++ ++boost_test_compile(noncopyable) ++ +diff --git a/libs/format/CMakeLists.txt b/libs/format/CMakeLists.txt +new file mode 100644 +index 0000000..e4097e5 +--- /dev/null ++++ b/libs/format/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ format.hpp ++ format ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ format ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/format/module.cmake b/libs/format/module.cmake +new file mode 100644 +index 0000000..6a30d4e +--- /dev/null ++++ b/libs/format/module.cmake +@@ -0,0 +1 @@ ++boost_module(format DEPENDS detail config optional) +\ No newline at end of file +diff --git a/libs/format/test/CMakeLists.txt b/libs/format/test/CMakeLists.txt +new file mode 100644 +index 0000000..6c24f7f +--- /dev/null ++++ b/libs/format/test/CMakeLists.txt +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(format BOOST_DEPENDS test) ++ ++boost_test_run(format_test1 DEPENDS boost_test_exec_monitor) ++boost_test_run(format_test2 DEPENDS boost_test_exec_monitor) ++boost_test_run(format_test3 DEPENDS boost_test_exec_monitor) ++boost_test_run(format_test_wstring DEPENDS boost_test_exec_monitor) ++ +diff --git a/libs/function/CMakeLists.txt b/libs/function/CMakeLists.txt +new file mode 100644 +index 0000000..a052a8a +--- /dev/null ++++ b/libs/function/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ function.hpp ++ function ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ function ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/function/doc/CMakeLists.txt b/libs/function/doc/CMakeLists.txt +new file mode 100644 +index 0000000..dd5603f +--- /dev/null ++++ b/libs/function/doc/CMakeLists.txt +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_documentation(function.xml ++ faq.xml history.xml misc.xml reference.xml tests.xml tutorial.xml) +diff --git a/libs/function/module.cmake b/libs/function/module.cmake +new file mode 100644 +index 0000000..052e0cf +--- /dev/null ++++ b/libs/function/module.cmake +@@ -0,0 +1 @@ ++boost_module(function DEPENDS detail preprocessor utility) +diff --git a/libs/function/test/CMakeLists.txt b/libs/function/test/CMakeLists.txt +new file mode 100644 +index 0000000..2f3c771 +--- /dev/null ++++ b/libs/function/test/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(function BOOST_DEPENDS test lambda) ++ ++ ++boost_test_run(lib_function_test function_test.cpp) ++boost_test_run(function_n_test) ++boost_test_run(allocator_test) ++boost_test_run(stateless_test) ++boost_test_run(lambda_test) ++boost_test_compile_fail(function_test_fail1) ++boost_test_compile_fail(function_test_fail2) ++boost_test_compile(function_30) ++boost_test_run(function_arith_cxx98) ++boost_test_run(function_arith_portable) ++boost_test_run(sum_avg_cxx98) ++boost_test_run(sum_avg_portable) ++boost_test_run(mem_fun_cxx98) ++boost_test_run(mem_fun_portable) ++boost_test_run(std_bind_cxx98) ++boost_test_run(std_bind_portable) ++boost_test_run(function_ref_cxx98) ++boost_test_run(function_ref_portable) ++boost_test_run(contains_test) ++boost_test_run(contains2_test) +diff --git a/libs/function_types/CMakeLists.txt b/libs/function_types/CMakeLists.txt +new file mode 100644 +index 0000000..6e83c47 +--- /dev/null ++++ b/libs/function_types/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ function_types ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ function_types ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/function_types/module.cmake b/libs/function_types/module.cmake +new file mode 100644 +index 0000000..9943033 +--- /dev/null ++++ b/libs/function_types/module.cmake +@@ -0,0 +1 @@ ++boost_module(function_types DEPENDS mpl detail) +\ No newline at end of file +diff --git a/libs/function_types/test/CMakeLists.txt b/libs/function_types/test/CMakeLists.txt +new file mode 100644 +index 0000000..1a5a0c3 +--- /dev/null ++++ b/libs/function_types/test/CMakeLists.txt +@@ -0,0 +1,76 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# Get the boost dependencies for the tests ++boost_additional_test_dependencies(function_types BOOST_DEPENDS test fusion) ++ ++boost_test_compile(is_function classification/is_function.cpp) ++boost_test_compile(is_function_pointer classification/is_function_pointer.cpp) ++boost_test_compile(is_function_reference classification/is_function_reference.cpp) ++boost_test_compile(is_member_function_pointer classification/is_member_function_pointer.cpp) ++boost_test_compile(is_member_object_pointer classification/is_member_object_pointer.cpp) ++boost_test_compile(is_callable_builtin classification/is_callable_builtin.cpp) ++boost_test_compile(is_nonmember_callable_builtin classification/is_nonmember_callable_builtin.cpp) ++boost_test_compile(is_member_pointer classification/is_member_pointer.cpp) ++ ++boost_test_compile(is_cv_mem_func_ptr classification/is_cv_mem_func_ptr.cpp) ++boost_test_compile(is_variadic classification/is_variadic.cpp) ++boost_test_compile(is_cv_pointer classification/is_cv_pointer.cpp) ++ # [ compile classification/is_cv_function.cpp) ++ ++# Decomposition ++ ++boost_test_compile(components decomposition/components.cpp) ++boost_test_compile(result_type decomposition/result_type.cpp) ++boost_test_compile(function_arity decomposition/function_arity.cpp) ++boost_test_compile(parameter_types decomposition/parameter_types.cpp) ++ ++boost_test_compile(components_seq decomposition/components_seq.cpp) ++boost_test_compile(class_type_transform decomposition/class_type_transform.cpp) ++ ++boost_test_compile_fail(result_type_fail decomposition/result_type_fail.cpp) ++boost_test_compile_fail(parameter_types_fail decomposition/parameter_types_fail.cpp) ++boost_test_compile_fail(function_arity_fail decomposition/function_arity_fail.cpp) ++ ++# Synthesis ++ ++boost_test_compile(function_type synthesis/function_type.cpp) ++boost_test_compile(function_pointer synthesis/function_pointer.cpp) ++boost_test_compile(function_reference synthesis/function_reference.cpp) ++boost_test_compile(member_function_pointer synthesis/member_function_pointer.cpp) ++boost_test_compile(member_object_pointer synthesis/member_object_pointer.cpp) ++ ++boost_test_compile(transformation synthesis/transformation.cpp) ++boost_test_compile(mem_func_ptr_cv1 synthesis/mem_func_ptr_cv1.cpp) ++boost_test_compile(mem_func_ptr_cv2 synthesis/mem_func_ptr_cv2.cpp) ++boost_test_compile(mem_func_ptr_cv_ptr_to_this synthesis/mem_func_ptr_cv_ptr_to_this.cpp) ++boost_test_compile(variadic_function_synthesis synthesis/variadic_function_synthesis.cpp) ++ # [ compile synthesis/cv_function_synthesis.cpp) ++ ++# Reconfiguration ++ ++boost_test_compile(preprocessing_mode reconfiguration/preprocessing_mode.cpp) ++boost_test_compile(partial_arity_preprocessing reconfiguration/partial_arity_preprocessing.cpp) ++boost_test_compile(cc_preprocessing reconfiguration/cc_preprocessing.cpp) ++ ++# Custom calling conventions ++boost_test_compile(nonmember_ccs custom_ccs/nonmember_ccs.cpp) ++boost_test_compile(nonmember_ccs_exact custom_ccs/nonmember_ccs_exact.cpp) ++message(STATUS "Function_Types/test/custom_ccs/member_ccs.cpp Needs love") ++#boost_test_compile(member_ccs custom_ccs/member_ccs.cpp) ++message(STATUS "Function_Types/test/custom_ccs/member_ccs_exact.cpp Needs love") ++#boost_test_compile(member_ccs_exact custom_ccs/member_ccs_exact.cpp) ++ ++ ++# Code from the examples ++# Include the "example" directory ++include_directories("${CMAKE_CURRENT_SOURCE_DIR}/example") ++boost_test_compile(interpreter_example ../example/interpreter_example.cpp) ++boost_test_compile(result_of_example ../example/result_of_example.cpp) ++boost_test_compile(interface_example ../example/interface_example.cpp) ++message(STATUS "Function_Types/example/fast_mem_fn_example.cpp Needs love") ++#boost_test_compile(fast_mem_fn_example ../example/fast_mem_fn_example.cpp) ++boost_test_compile(macro_type_args_example ../example/macro_type_args_example.cpp) +diff --git a/libs/functional/CMakeLists.txt b/libs/functional/CMakeLists.txt +new file mode 100644 +index 0000000..6a28765 +--- /dev/null ++++ b/libs/functional/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ functional.hpp ++ functional ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ functional ++ # SRCDIRS ++ TESTDIRS test hash/test hash/examples ++ HEADERS ${lib_headers} ++ DOCDIRS hash/doc ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/functional/hash/doc/CMakeLists.txt b/libs/functional/hash/doc/CMakeLists.txt +new file mode 100644 +index 0000000..f9e29c0 +--- /dev/null ++++ b/libs/functional/hash/doc/CMakeLists.txt +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++message(STATUS "functional/hash docs need love") ++ +diff --git a/libs/functional/hash/examples/CMakeLists.txt b/libs/functional/hash/examples/CMakeLists.txt +new file mode 100644 +index 0000000..347a9b2 +--- /dev/null ++++ b/libs/functional/hash/examples/CMakeLists.txt +@@ -0,0 +1,15 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#------------------------------------------------------------------------- ++#-- Needed include directories for the tests ++boost_additional_test_dependencies(config BOOST_DEPENDS test) ++#------------------------------------------------------------------------- ++boost_test_run(books) ++boost_test_run(point) ++boost_test_run(portable) ++ ++ +diff --git a/libs/functional/hash/test/CMakeLists.txt b/libs/functional/hash/test/CMakeLists.txt +new file mode 100644 +index 0000000..ca45f5d +--- /dev/null ++++ b/libs/functional/hash/test/CMakeLists.txt +@@ -0,0 +1,58 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#project hash-tests ++# : requirements ++# gcc:_GLIBCXX_DEBUG ++# ; ++if (GCC) ++ ADD_DEFINITIONS(-D_GLIBCXX_DEBUG) ++endif(GCC) ++ ++# [ run .cpp : : : always_show_run_output ] ++ ++ ++ ++#------------------------------------------------------------------------- ++#-- Needed include directories for the tests ++ boost_additional_test_dependencies(functional BOOST_DEPENDS test) ++#------------------------------------------------------------------------- ++ ++SET(tests ++hash_fwd_test_1 ++hash_fwd_test_2 ++hash_number_test ++hash_pointer_test ++hash_function_pointer_test ++hash_float_test ++hash_long_double_test ++hash_string_test ++hash_range_test ++hash_custom_test ++hash_global_namespace_test ++hash_friend_test ++hash_built_in_array_test ++hash_value_array_test ++hash_vector_test ++hash_list_test ++hash_deque_test ++hash_set_test ++hash_map_test ++hash_complex_test ++container_fwd_test ++hash_no_ext_macro_1 ++hash_no_ext_macro_2 ++) ++ ++boost_test_run(link_test link_test.cpp link_test_2.cpp) ++boost_test_run(link_ext_test link_ext_test.cpp link_no_ext_test.cpp ++) ++foreach(test ${tests}) ++ boost_test_run(${test}) ++endforeach(test ${tests}) ++ ++boost_test_compile_fail(hash_no_ext_fail_test) ++ +diff --git a/libs/functional/module.cmake b/libs/functional/module.cmake +new file mode 100644 +index 0000000..f10d82e +--- /dev/null ++++ b/libs/functional/module.cmake +@@ -0,0 +1 @@ ++boost_module(functional DEPENDS integer) +\ No newline at end of file +diff --git a/libs/functional/test/CMakeLists.txt b/libs/functional/test/CMakeLists.txt +new file mode 100644 +index 0000000..2bd7a7d +--- /dev/null ++++ b/libs/functional/test/CMakeLists.txt +@@ -0,0 +1,7 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_test_run(function_test function_test.cpp) +diff --git a/libs/fusion/CMakeLists.txt b/libs/fusion/CMakeLists.txt +new file mode 100644 +index 0000000..2a91cc1 +--- /dev/null ++++ b/libs/fusion/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ fusion ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ fusion ++ # SRCDIRS ++ # TESTDIRS ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Library for working with tuples, including various containers, algorithms, etc." ++ MODULARIZED ++ AUTHORS "Joel de Guzman " ++ "Dan Marsden " ++ "Tobias Schwinger " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/fusion/module.cmake b/libs/fusion/module.cmake +new file mode 100644 +index 0000000..fa210eb +--- /dev/null ++++ b/libs/fusion/module.cmake +@@ -0,0 +1 @@ ++boost_module (fusion DEPENDS function_types) +\ No newline at end of file +diff --git a/libs/gil/CMakeLists.txt b/libs/gil/CMakeLists.txt +new file mode 100644 +index 0000000..3b2f11d +--- /dev/null ++++ b/libs/gil/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ gil ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ gil ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Generic Image Library" ++ MODULARIZED ++ AUTHORS "Lubomir Bourdev " ++ "Hailin Jin " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/gil/module.cmake b/libs/gil/module.cmake +new file mode 100644 +index 0000000..e5c8cec +--- /dev/null ++++ b/libs/gil/module.cmake +@@ -0,0 +1 @@ ++boost_module (gil DEPENDS type_traits mpl) +\ No newline at end of file +diff --git a/libs/gil/test/CMakeLists.txt b/libs/gil/test/CMakeLists.txt +new file mode 100644 +index 0000000..2a167a0 +--- /dev/null ++++ b/libs/gil/test/CMakeLists.txt +@@ -0,0 +1,16 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(gil BOOST_DEPENDS test lambda crc) ++ ++ ++add_definitions(-DBOOST_GIL_NO_IO -D_SCL_SECURE_NO_WARNINGS) ++boost_test_run(channel channel.cpp error_if.cpp) ++boost_test_run(image image.cpp sample_image.cpp error_if.cpp ++ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/gil_reference_checksums.txt) ++boost_test_run(image_io image_io.cpp error_if.cpp) ++boost_test_run(pixel pixel.cpp error_if.cpp) ++boost_test_run(pixel_iterator pixel_iterator.cpp error_if.cpp) +diff --git a/libs/graph/CMakeLists.txt b/libs/graph/CMakeLists.txt +new file mode 100644 +index 0000000..4745fb2 +--- /dev/null ++++ b/libs/graph/CMakeLists.txt +@@ -0,0 +1,24 @@ ++# Copyright (C) 2008 Michael Jackson ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++ ++# Add a library target to the build system ++boost_library_project( ++ graph ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS graph ++ # DOCDIRS ++ DESCRIPTION "The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL)." ++ MODULARIZED ++ AUTHORS "Jeremy Siek " ++ "Lie-Quan Lee" ++ "Andrew Lumsdaine" ++ "Douglas Gregor " ++ # MAINTAINERS ++) +diff --git a/libs/graph/module.cmake b/libs/graph/module.cmake +new file mode 100644 +index 0000000..5a19aea +--- /dev/null ++++ b/libs/graph/module.cmake +@@ -0,0 +1,4 @@ ++boost_module(graph DEPENDS property_map tuple multi_index any random parameter regex) ++boost_module(graph_mpi DEPENDS mpi graph) ++ ++# any is there because of the dependency on boost/property_map/dynamic_property_map.hpp +diff --git a/libs/graph/src/CMakeLists.txt b/libs/graph/src/CMakeLists.txt +new file mode 100644 +index 0000000..f290df8 +--- /dev/null ++++ b/libs/graph/src/CMakeLists.txt +@@ -0,0 +1,38 @@ ++# Copyright (C) 2008 Michael Jackson ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++add_definitions(-DBOOST_GRAPH_NO_LIB=1) ++ ++if (MSVC) ++ # Without these flags, MSVC 7.1 and 8.0 crash ++ add_definitions(-GR-) ++endif (MSVC) ++ ++set(BOOST_GRAPH_OPTIONAL_SOURCES "") ++set(BOOST_GRAPH_OPTIONAL_LIBRARIES "") ++ ++if (EXPAT_FOUND) ++ colormsg(GREEN "+-- expat available, enabling the GraphML parser.") ++ # We have Expat, so build the GraphML parser ++ set(BOOST_GRAPH_OPTIONAL_SOURCES ++ ${BOOST_GRAPH_OPTIONAL_SOURCES} "graphml.cpp") ++ include_directories(${EXPAT_INCLUDE_DIRS}) ++ list(APPEND BOOST_GRAPH_OPTIONAL_LIBRARIES ${EXPAT_LIBRARIES}) ++endif (EXPAT_FOUND) ++ ++boost_add_library(graph ++ ++ read_graphviz_new.cpp ++ ${BOOST_GRAPH_OPTIONAL_SOURCES} ++ ++ NO_STATIC ++ # don't build static, as there might not be a static regex ++ # if ICU is found. Fix this. ++ DEPENDS boost_regex ++ LINK_LIBS ${BOOST_GRAPH_OPTIONAL_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_GRAPH_DYN_LINK=1" ++ ) ++ +diff --git a/libs/graph/test/CMakeLists.txt b/libs/graph/test/CMakeLists.txt +new file mode 100644 +index 0000000..29e3e01 +--- /dev/null ++++ b/libs/graph/test/CMakeLists.txt +@@ -0,0 +1,71 @@ ++# Copyright (C) 2008 Michael Jackson ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++boost_additional_test_dependencies(graph BOOST_DEPENDS test assign) ++ ++boost_test_run(transitive_closure_test) ++boost_test_compile(adj_list_cc) ++boost_test_run(adj_list_edge_list_set) ++boost_test_compile(adj_matrix_cc) ++boost_test_run(bfs) ++boost_test_compile(bfs_cc) ++boost_test_run(bellman-test) ++boost_test_run(betweenness_centrality_test DEPENDS boost_graph SHARED) ++boost_test_run(csr_graph_test) ++boost_test_run(dag_longest_paths) ++boost_test_run(dfs) ++boost_test_compile(dfs_cc) ++boost_test_compile(dijkstra_cc) ++boost_test_run(dijkstra_heap_performance ARGS 10000 DEPENDS boost_graph SHARED) ++boost_test_run(dominator_tree_test) ++boost_test_run(relaxed_heap_test ARGS 5000 15000) ++boost_test_compile(edge_list_cc) ++boost_test_compile(filtered_graph_cc) ++boost_test_run(generator_test) ++boost_test_run(graph) ++boost_test_compile(graph_concepts) ++boost_test_run(graphviz_test ++ DEPENDS boost_test_exec_monitor boost_graph STATIC) ++boost_test_run(gursoy_atun_layout_test) ++boost_test_run(layout_test) ++boost_test_run(serialize DEPENDS boost_serialization) ++boost_test_compile(reverse_graph_cc) ++boost_test_run(sequential_vertex_coloring) ++boost_test_run(subgraph) ++boost_test_run(isomorphism) ++boost_test_run(adjacency_matrix_test) ++boost_test_compile(vector_graph_cc) ++boost_test_compile(copy) ++boost_test_compile(property_iter) ++boost_test_run(bundled_properties) ++boost_test_run(floyd_warshall_test) ++boost_test_run(astar_search_test) ++boost_test_run(biconnected_components_test) ++boost_test_run(cuthill_mckee_ordering) ++boost_test_run(king_ordering) ++boost_test_run(matching_test) ++boost_test_run(mcgregor_subgraphs_test) ++# boost_test_run(max_flow_test) ++# boost_test_run(kolmogorov_max_flow_test) TODO: Boost 1.34.x only ++ ++# GraphML Tests - not for Boost 1.34.x ++#include(FindEXPAT) ++#if (EXPAT_FOUND) ++# include_directories(${EXPAT_INCLUDE_DIRS}) ++# boost_test_run(graphml_test LIBRARIES boost_graph) ++#endif (EXPAT_FOUND) ++ ++# Stanford GraphBase Tests ++if ($ENV{SDB}) ++ include_directories("$ENV{SDB}") ++ boost_test_compile(stanford_graph_cc) ++endif ($ENV{SDB}) ++ ++# LEDA tests ++if ($ENV{LEDA}) ++ include_directories("$ENV{LEDA}/incl") ++ boost_test_compile(leda_graph_cc) ++endif ($ENV{LEDA}) +diff --git a/libs/graph_parallel/CMakeLists.txt b/libs/graph_parallel/CMakeLists.txt +new file mode 100644 +index 0000000..e517ae4 +--- /dev/null ++++ b/libs/graph_parallel/CMakeLists.txt +@@ -0,0 +1,25 @@ ++# Copyright (C) 2008 The Trustees of Indiana University. ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++if (NOT MPI_FOUND) ++ message(STATUS "+-- MPI not found, disabling.") ++else() ++ ++ boost_library_project( ++ graph_parallel ++ SRCDIRS src ++ TESTDIRS test example ++ # HEADERS graph graph/parallel ++ # DOCDIRS doc ++ DESCRIPTION "Parallel support using MPI for Boost.Graph." ++ AUTHORS "Douglas Gregor " ++ "Nicholas Edmonds " ++ "Jeremiah Willcock " ++ "Andrew Lumsdaine" ++ # MAINTAINERS ++ ) ++ ++endif() +diff --git a/libs/graph_parallel/doc/CMakeLists.txt b/libs/graph_parallel/doc/CMakeLists.txt +new file mode 100644 +index 0000000..5b804be +--- /dev/null ++++ b/libs/graph_parallel/doc/CMakeLists.txt +@@ -0,0 +1,70 @@ ++# Copyright (C) 2008 The Trustees of Indiana University. ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++set(PBGL_DOCS ++ DistributedGraph ++ DistributedEdgeListGraph ++ DistributedVertexListGraph ++ GlobalDescriptor ++ boman_et_al_graph_coloring ++ breadth_first_search ++ connected_components ++ dehne_gotz_min_spanning_tree ++ dijkstra_example ++ dijkstra_shortest_paths ++ distributed_adjacency_list ++ distributed_property_map ++ distributed_queue ++ distributedS ++ index ++ local_subgraph ++ metis ++ overview ++ page_rank ++ process_group ++ mpi_bsp_process_group ++ simple_trigger ++ strong_components ++ tsin_depth_first_visit ++ vertex_list_adaptor ++ rmat_generator ++ sorted_rmat_generator ++ unique_rmat_generator ++ sorted_unique_rmat_generator ++ scalable_rmat_generator ++ mesh_generator ++ ssca_generator ++ fruchterman_reingold ++ st_connected ++ betweenness_centrality ++ connected_components_parallel_search ++ ) ++ ++set(PBGL_IMAGES ++ dijkstra_dist3_graph.png dijkstra_seq_graph.png vertex_coloring.png ++ architecture.png dist-adjlist.png dist-pmap.png distributed-graph.png ++ graph.png) ++ ++set(PBGL_DOC_TARGETS) ++separate_arguments(RST2HTML_FLAGS) ++foreach(DOC ${PBGL_DOCS}) ++ add_custom_command(OUTPUT "${PBGL_BINARY_DIR}/libs/graph_parallel/doc/${DOC}.html" ++ COMMAND "${RST2HTML}" ++ ARGS ${RST2HTML_FLAGS} "${PBGL_SOURCE_DIR}/libs/graph_parallel/doc/${DOC}.rst" ++ "${PBGL_BINARY_DIR}/libs/graph/doc/parallel/${DOC}.html" ++ COMMENT "Generating document ${DOC}.html..." ++ ) ++ list(APPEND PBGL_DOC_TARGETS "${PBGL_BINARY_DIR}/libs/graph_parallel/doc/${DOC}.html") ++endforeach(DOC) ++ ++add_custom_target(doc ALL ++ DEPENDS ${PBGL_DOC_TARGETS}) ++ ++install(FILES ${PBGL_DOC_TARGETS} ${PBGL_IMAGES} ++ DESTINATION "doc/pbgl-${PBGL_VERSION}" ++ COMPONENT "Documentation" ++ OPTIONAL ++ ) +diff --git a/libs/graph_parallel/example/CMakeLists.txt b/libs/graph_parallel/example/CMakeLists.txt +new file mode 100644 +index 0000000..c66244e +--- /dev/null ++++ b/libs/graph_parallel/example/CMakeLists.txt +@@ -0,0 +1,59 @@ ++# Copyright (C) 2008 The Trustees of Indiana University. ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++if (MPI_FOUND) ++ ++ boost_additional_test_dependencies(graph_parallel BOOST_DEPENDS test mpi filesystem system) ++ ++ include_directories(${MPI_INCLUDE_PATH}) ++ ++ macro(boost_graph_parallel_example testname) ++ PARSE_ARGUMENTS(MPI_EXAMPLE "NUMPROCS;ARGS" "" ${ARGN}) ++ ++ # Determine the example sources ++ if (MPI_EXAMPLE_DEFAULT_ARGS) ++ set(MPI_EXAMPLE_SOURCES ${MPI_EXAMPLE_DEFAULT_ARGS}) ++ else (MPI_EXAMPLE_DEFAULT_ARGS) ++ set(MPI_EXAMPLE_SOURCES "${testname}.cpp") ++ endif (MPI_EXAMPLE_DEFAULT_ARGS) ++ ++ set(THIS_EXAMPLE_LOCATION tests/${BOOST_PROJECT_NAME}/${testname}) ++ ++ # Build the example executable ++ boost_add_executable(${testname} ++ ${MPI_EXAMPLE_SOURCES} ++ OUTPUT_NAME ${THIS_EXAMPLE_LOCATION} ++ NO_INSTALL ++ DEPENDS boost_graph_parallel boost_system ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1") ++ ++ if (BUILD_TESTING) ++ ++ if (NOT MPI_EXAMPLE_NUMPROCS) ++ set(MPI_EXAMPLE_NUMPROCS ${MPIEXEC_MAX_NUMPROCS}) ++ endif (NOT MPI_EXAMPLE_NUMPROCS) ++ ++ foreach(PROCS ${MPI_EXAMPLE_NUMPROCS}) ++ add_test("${BOOST_PROJECT_NAME}-${testname}-${PROCS}" ++ ${MPIEXEC} ++ -n ${PROCS} ++ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${THIS_EXAMPLE_LOCATION} ++ ${MPI_EXAMPLE_ARGS} ++ ${BOOST_TEST_ARGS} ++ ) ++ endforeach(PROCS) ++ ++ endif(BUILD_TESTING) ++ ++ endmacro(boost_graph_parallel_example) ++ ++ boost_graph_parallel_example(breadth_first_search ARGS ${Boost_SOURCE_DIR}/libs/graph/test/weighted_graph.gr) ++ boost_graph_parallel_example(dijkstra_shortest_paths ARGS ${Boost_SOURCE_DIR}/libs/graph/test/weighted_graph.gr) ++ ++endif (MPI_FOUND) +diff --git a/libs/graph_parallel/module.cmake b/libs/graph_parallel/module.cmake +new file mode 100644 +index 0000000..8049b0f +--- /dev/null ++++ b/libs/graph_parallel/module.cmake +@@ -0,0 +1 @@ ++boost_module(graph_parallel DEPENDS mpi graph) +diff --git a/libs/graph_parallel/src/CMakeLists.txt b/libs/graph_parallel/src/CMakeLists.txt +new file mode 100644 +index 0000000..ffa8b30 +--- /dev/null ++++ b/libs/graph_parallel/src/CMakeLists.txt +@@ -0,0 +1,22 @@ ++# Copyright (C) 2008 The Trustees of Indiana University. ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++add_definitions(-DBOOST_GRAPH_NO_LIB=1) ++ ++if (MSVC) ++ # Without these flags, MSVC 7.1 and 8.0 crash ++ add_definitions(-GR-) ++endif (MSVC) ++ ++# Add Boost.MPI link and add parallel source files ++include_directories(${MPI_INCLUDE_PATH}) ++ ++boost_add_library( ++ graph_parallel ++ mpi_process_group.cpp tag_allocator.cpp ++ DEPENDS boost_mpi ++ SHARED_COMPILE_FLAGS "-DBOOST_GRAPH_DYN_LINK=1" ++ ) +diff --git a/libs/graph_parallel/test/CMakeLists.txt b/libs/graph_parallel/test/CMakeLists.txt +new file mode 100644 +index 0000000..e149b47 +--- /dev/null ++++ b/libs/graph_parallel/test/CMakeLists.txt +@@ -0,0 +1,121 @@ ++# Copyright (C) 2008 The Trustees of Indiana University. ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++if (MPI_FOUND) ++ ++ boost_additional_test_dependencies(graph_parallel BOOST_DEPENDS test mpi filesystem system) ++ ++ include_directories(${MPI_INCLUDE_PATH}) ++ ++ # Declare a test for the Boost.MPI library, which may involve both ++ # building the test and executing it with varying numbers of ++ # processes. Edited to become boost_graph_parallel_test, with a different ++ # default number of processors. ++ # ++ # boost_graph_parallel_test(testname ++ # [source1 source2 ...] ++ # [ARGS arg1 arg2 ...] ++ # [SCHEDULE procs1 procs2 ...] ++ # ++ # testname is the name of the test. source1, source2, etc. are the ++ # source files that will be built and linked into the test ++ # executable. If no source files are provided, the file "testname.cpp" ++ # will be used instead. ++ macro(boost_graph_parallel_test testname) ++ PARSE_ARGUMENTS(MPI_TEST "NUMPROCS;ARGS" "" ${ARGN}) ++ ++ # Determine the test sources ++ if (MPI_TEST_DEFAULT_ARGS) ++ set(MPI_TEST_SOURCES ${MPI_TEST_DEFAULT_ARGS}) ++ else (MPI_TEST_DEFAULT_ARGS) ++ set(MPI_TEST_SOURCES "${testname}.cpp") ++ endif (MPI_TEST_DEFAULT_ARGS) ++ ++ set(THIS_TEST_LOCATION tests/${BOOST_PROJECT_NAME}/${testname}) ++ ++ # Build the test executable ++ boost_add_executable(${testname} ++ ${MPI_TEST_SOURCES} ++ OUTPUT_NAME ${THIS_TEST_LOCATION} ++ NO_INSTALL ++ DEPENDS boost_graph_parallel boost_system ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1") ++ ++ if (NOT MPI_TEST_NUMPROCS) ++ set(MPI_TEST_NUMPROCS ${MPIEXEC_MAX_NUMPROCS}) ++ endif (NOT MPI_TEST_NUMPROCS) ++ ++ foreach(PROCS ${MPI_TEST_NUMPROCS}) ++ add_test("${BOOST_PROJECT_NAME}-${testname}-${PROCS}" ++ ${MPIEXEC} ++ -n ${PROCS} ++ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${THIS_TEST_LOCATION} ++ ${MPI_TEST_ARGS} ++ ${BOOST_TEST_ARGS} ++ ) ++ endforeach(PROCS) ++ ++ endmacro(boost_graph_parallel_test) ++ ++ boost_graph_parallel_test(distributed_property_map_test) ++ boost_graph_parallel_test(distributed_queue_test) ++ boost_graph_parallel_test(process_group_serialization) ++ boost_graph_parallel_test(adjlist_build_test) ++ boost_graph_parallel_test(adjlist_redist_test) ++ boost_graph_parallel_test(adjlist_remove_test NUMPROCS 2) ++ boost_graph_parallel_test(distributed_adjacency_list_test) ++ boost_graph_parallel_test(distributed_connected_components_test) ++ boost_graph_parallel_test(distributed_page_rank_test) ++ boost_graph_parallel_test(distributed_csr_test) ++ boost_graph_parallel_test(distributed_dfs_test) ++ boost_graph_parallel_test(distributed_graph_coloring_test) ++ boost_graph_parallel_test(distributed_mst_test) ++ boost_graph_parallel_test(distributed_strong_components_test) ++ boost_graph_parallel_test(hohberg_biconnected_components_test) ++ boost_graph_parallel_test(mesh_generator_test ARGS 1000 1000 1 0) ++ boost_graph_parallel_test(named_vertices_seq NUMPROCS 1) ++ boost_graph_parallel_test(distributed_shortest_paths_test) ++ boost_graph_parallel_test(distributed_csr_algorithm_test NUMPROCS 1) ++ boost_graph_parallel_test(distributed_betweenness_centrality_test) ++ boost_graph_parallel_test(distributed_dimacs_reader) ++ boost_graph_parallel_test(distributed_rmat_cc_ps) ++ boost_graph_parallel_test(distributed_rmat_cc) ++ boost_graph_parallel_test(distributed_rmat_pagerank) ++ boost_graph_parallel_test(distributed_st_connected_test) ++ ++ boost_add_executable(ssca ++ ssca.cpp ++ OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/ssca ++ NO_INSTALL ++ DEPENDS boost_graph_parallel boost_system ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1") ++ ++ boost_add_executable(algorithm_performance ++ algorithm_performance.cpp ++ OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/algorithm_performance ++ NO_INSTALL ++ DEPENDS boost_graph_parallel boost_system ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1") ++ ++ if(NOT MSVC) ++ # Due to poor handling of partial ordering of class template partial ++ # specializations, we disable these features and tests on Visual C++. ++ # Tested with Visual C++ 9 (Microsoft Visual Studio 2008); earlier ++ # versions are no better. ++ boost_graph_parallel_test(named_vertices_test) ++ boost_graph_parallel_test(named_vertices_hash_test) ++ endif(NOT MSVC) ++ ++endif(MPI_FOUND) +diff --git a/libs/integer/CMakeLists.txt b/libs/integer/CMakeLists.txt +new file mode 100644 +index 0000000..c952ed0 +--- /dev/null ++++ b/libs/integer/CMakeLists.txt +@@ -0,0 +1,31 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ integer.hpp ++ integer_fwd.hpp ++ integer_traits.hpp ++ integer ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ integer ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "The organization of boost integer headers and classes is designed to take advantage of types from the 1999 C standard without resorting to undefined behavior in terms of the 1998 C++ standard. The header makes the standard integer types safely available in namespace boost without placing any names in namespace std." ++ MODULARIZED ++ AUTHORS "Beman Dawes " ++ "Daryle Walker " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/integer/module.cmake b/libs/integer/module.cmake +new file mode 100644 +index 0000000..d0c4293 +--- /dev/null ++++ b/libs/integer/module.cmake +@@ -0,0 +1 @@ ++boost_module(integer DEPENDS utility) +\ No newline at end of file +diff --git a/libs/integer/test/CMakeLists.txt b/libs/integer/test/CMakeLists.txt +new file mode 100644 +index 0000000..acc48e6 +--- /dev/null ++++ b/libs/integer/test/CMakeLists.txt +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(integer BOOST_DEPENDS test) ++ ++boost_test_run(cstdint_test cstdint_test.cpp) ++boost_test_run(integer_mask_test integer_mask_test.cpp DEPENDS boost_test_exec_monitor) ++boost_test_run(integer_test integer_test.cpp DEPENDS boost_test_exec_monitor) ++boost_test_run(integer_traits_test integer_traits_test.cpp DEPENDS boost_test_exec_monitor) ++boost_test_run(static_log2_test static_log2_test.cpp DEPENDS boost_test_exec_monitor) ++boost_test_run(static_min_max_test static_min_max_test.cpp DEPENDS boost_test_exec_monitor) +diff --git a/libs/interprocess/CMakeLists.txt b/libs/interprocess/CMakeLists.txt +new file mode 100644 +index 0000000..5a2b185 +--- /dev/null ++++ b/libs/interprocess/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ interprocess ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ interprocess ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators." ++ MODULARIZED ++ AUTHORS "Ion Gaztanaga " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/interprocess/module.cmake b/libs/interprocess/module.cmake +new file mode 100644 +index 0000000..408603f +--- /dev/null ++++ b/libs/interprocess/module.cmake +@@ -0,0 +1 @@ ++boost_module(interprocess DEPENDS date_time intrusive math) +\ No newline at end of file +diff --git a/libs/interprocess/test/CMakeLists.txt b/libs/interprocess/test/CMakeLists.txt +new file mode 100644 +index 0000000..2435e03 +--- /dev/null ++++ b/libs/interprocess/test/CMakeLists.txt +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(interprocess BOOST_DEPENDS test thread date_time multi_index) ++ ++ ++file(GLOB INTERPROCESS_TESTS *.cpp) ++foreach(TEST ${INTERPROCESS_TESTS}) ++ get_filename_component(TEST ${TEST} NAME_WE) ++ boost_test_run(${TEST} DEPENDS boost_thread MULTI_THREADED) ++endforeach() +\ No newline at end of file +diff --git a/libs/intrusive/CMakeLists.txt b/libs/intrusive/CMakeLists.txt +new file mode 100644 +index 0000000..3169cb1 +--- /dev/null ++++ b/libs/intrusive/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ intrusive_ptr.hpp ++ intrusive ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ intrusive ++ # SRCDIRS ++ # TESTDIRS ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/intrusive/module.cmake b/libs/intrusive/module.cmake +new file mode 100644 +index 0000000..edc114f +--- /dev/null ++++ b/libs/intrusive/module.cmake +@@ -0,0 +1 @@ ++boost_module(intrusive DEPENDS utility) +\ No newline at end of file +diff --git a/libs/io/CMakeLists.txt b/libs/io/CMakeLists.txt +new file mode 100644 +index 0000000..a2d73a2 +--- /dev/null ++++ b/libs/io/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ io_fwd.hpp ++ io ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ io ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/io/module.cmake b/libs/io/module.cmake +new file mode 100644 +index 0000000..fd1d4d9 +--- /dev/null ++++ b/libs/io/module.cmake +@@ -0,0 +1 @@ ++boost_module(io DEPENDS detail) +\ No newline at end of file +diff --git a/libs/io/test/CMakeLists.txt b/libs/io/test/CMakeLists.txt +new file mode 100644 +index 0000000..2f1cf09 +--- /dev/null ++++ b/libs/io/test/CMakeLists.txt +@@ -0,0 +1,12 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(io BOOST_DEPENDS test) ++ ++ ++boost_test_run(ios_state_unit_test DEPENDS boost_unit_test_framework) ++boost_test_run(ios_state_test DEPENDS boost_test_exec_monitor) ++ +diff --git a/libs/iostreams/CMakeLists.txt b/libs/iostreams/CMakeLists.txt +new file mode 100644 +index 0000000..657f074 +--- /dev/null ++++ b/libs/iostreams/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ iostreams ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ iostreams ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Framework for defining streams, stream buffers and i/o filters" ++ MODULARIZED ++ AUTHORS "Jonathan Turkanis " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/iostreams/example/CMakeLists.txt b/libs/iostreams/example/CMakeLists.txt +new file mode 100644 +index 0000000..7b154d2 +--- /dev/null ++++ b/libs/iostreams/example/CMakeLists.txt +@@ -0,0 +1,10 @@ ++# Copyright (C) 2009 Troy D. Straszheim ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++boost_add_executable(boost_back_inserter_example DEPENDS boost_iostreams) ++boost_add_executable(container_device_example ) ++boost_add_executable(container_sink_example ) ++boost_add_executable(container_source_example ) ++boost_add_executable(iterator_range_example ) ++boost_add_executable(std_back_inserter_example ) +diff --git a/libs/iostreams/module.cmake b/libs/iostreams/module.cmake +new file mode 100644 +index 0000000..fae407a +--- /dev/null ++++ b/libs/iostreams/module.cmake +@@ -0,0 +1 @@ ++boost_module(iostreams DEPENDS range random) +diff --git a/libs/iostreams/src/CMakeLists.txt b/libs/iostreams/src/CMakeLists.txt +new file mode 100644 +index 0000000..4b4e473 +--- /dev/null ++++ b/libs/iostreams/src/CMakeLists.txt +@@ -0,0 +1,36 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++set(BOOST_IOSTREAMS_EXTRA_SOURCES) ++set(BOOST_IOSTREAMS_LIBRARIES) ++ ++# ++# These finds are done upstairs in libs/iostreams/CMakeLists.txt ++# ++if (ZLIB_FOUND) ++ include_directories(${ZLIB_INCLUDE_DIR}) ++ set(ZLIB_EXTRA_SOURCES zlib.cpp gzip.cpp) ++ set(ZLIB_EXTRA_LIBRARIES ${ZLIB_LIBRARIES}) ++endif(ZLIB_FOUND) ++ ++if (BZIP2_FOUND) ++ include_directories(${BZIP2_INCLUDE_DIR}) ++ add_definitions(${BZIP2_DEFINITIONS}) ++ set(BZIP2_EXTRA_SOURCES bzip2.cpp) ++ set(BZIP2_EXTRA_LIBRARIES ${BZIP2_LIBRARIES}) ++ # NOTE: What to do about BZIP2_NEED_PREFIX? ++endif(BZIP2_FOUND) ++ ++boost_add_library(iostreams ++ ++ file_descriptor.cpp ++ mapped_file.cpp ++ ${ZLIB_EXTRA_SOURCES} ++ ${BZIP2_EXTRA_SOURCES} ++ ++ LINK_LIBS ${ZLIB_EXTRA_LIBRARIES} ${BZIP2_EXTRA_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_IOSTREAMS_DYN_LINK=1" ++ ) +diff --git a/libs/iostreams/test/CMakeLists.txt b/libs/iostreams/test/CMakeLists.txt +new file mode 100644 +index 0000000..fc166a6 +--- /dev/null ++++ b/libs/iostreams/test/CMakeLists.txt +@@ -0,0 +1,69 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(iostreams BOOST_DEPENDS test) ++ ++ ++# Helper macro to create tests for the iostreams library ++macro(iostreams_test TESTNAME) ++ boost_test_run(${TESTNAME} ++ ${ARGN} ++ DEPENDS boost_unit_test_framework ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++endmacro(iostreams_test) ++ ++iostreams_test(array_test) ++iostreams_test(auto_close_test) ++iostreams_test(buffer_size_test) ++iostreams_test(code_converter_test ++ code_converter_test.cpp detail/utf8_codecvt_facet.cpp) ++iostreams_test(compose_test) ++iostreams_test(component_access_test) ++iostreams_test(copy_test) ++iostreams_test(counter_test) ++iostreams_test(direct_adapter_test) ++iostreams_test(example_test) ++iostreams_test(file_test) ++boost_test_run(file_descriptor_test ++ DEPENDS boost_unit_test_framework boost_iostreams ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++iostreams_test(filtering_stream_test) ++iostreams_test(finite_state_filter_test) ++iostreams_test(flush_test) ++iostreams_test(invert_test) ++iostreams_test(line_filter_test) ++boost_test_run(mapped_file_test ++ DEPENDS boost_unit_test_framework boost_iostreams ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++iostreams_test(newline_test) ++iostreams_test(null_test) ++iostreams_test(pipeline_test) ++boost_test_run(regex_filter_test ++ DEPENDS boost_unit_test_framework boost_regex ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++iostreams_test(restrict_test) ++iostreams_test(seekable_file_test) ++iostreams_test(seekable_filter_test) ++iostreams_test(stdio_filter_test) ++iostreams_test(symmetric_filter_test) ++iostreams_test(tee_test) ++iostreams_test(wide_stream_test) ++ ++if (ZLIB_FOUND) ++ boost_test_run(gzip_test ++ DEPENDS boost_unit_test_framework boost_iostreams ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++ boost_test_run(zlib_test ++ DEPENDS boost_unit_test_framework boost_iostreams ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++endif(ZLIB_FOUND) ++ ++# Find BZip2. If it's available, test it ++if (BZIP2_FOUND) ++ boost_test_run(bzip2_test ++ DEPENDS boost_unit_test_framework boost_iostreams ++ COMPILE_FLAGS "-DBOOST_IOSTREAMS_NO_LIB") ++endif(BZIP2_FOUND) +diff --git a/libs/iterator/CMakeLists.txt b/libs/iterator/CMakeLists.txt +new file mode 100644 +index 0000000..bd83261 +--- /dev/null ++++ b/libs/iterator/CMakeLists.txt +@@ -0,0 +1,30 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ iterator.hpp ++ iterator ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ iterator ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A system of concepts which extend the C++ standard iterator requirementsand a framework of components for building iterators based on these extended concepts and includes several useful iterator adaptors." ++ MODULARIZED ++ AUTHORS "David Abrahams " ++ "Jeremy Siek " ++ "Thomas Witt " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/iterator/module.cmake b/libs/iterator/module.cmake +new file mode 100644 +index 0000000..2e025e3 +--- /dev/null ++++ b/libs/iterator/module.cmake +@@ -0,0 +1 @@ ++boost_module(iterator DEPENDS mpl type_traits function concept_check) +\ No newline at end of file +diff --git a/libs/iterator/test/CMakeLists.txt b/libs/iterator/test/CMakeLists.txt +new file mode 100644 +index 0000000..1b0c5be +--- /dev/null ++++ b/libs/iterator/test/CMakeLists.txt +@@ -0,0 +1,39 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(iterator BOOST_DEPENDS test tuple smart_ptr) ++ ++# These first two tests will run last, and are expected to fail ++# for many less-capable compilers. ++ ++boost_test_compile_fail(interoperable_fail) ++# test uses expected success, so that we catch unrelated ++# compilation problems. ++boost_test_run(is_convertible_fail) ++boost_test_run(zip_iterator_test) ++ ++# These tests should work for just about everything. ++boost_test_compile(is_lvalue_iterator) ++boost_test_compile(is_readable_iterator) ++boost_test_compile(pointee) ++ ++boost_test_run(unit_tests) ++boost_test_run(concept_tests) ++boost_test_run(iterator_adaptor_cc) ++boost_test_run(iterator_adaptor_test) ++boost_test_compile(iterator_archetype_cc) ++boost_test_compile_fail(iter_archetype_default_ctor) ++boost_test_compile_fail(lvalue_concept_fail) ++boost_test_run(transform_iterator_test) ++boost_test_run(indirect_iterator_test) ++boost_test_compile(indirect_iter_member_types) ++boost_test_run(filter_iterator_test) ++boost_test_run(iterator_facade) ++boost_test_run(reverse_iterator_test) ++boost_test_run(counting_iterator_test) ++boost_test_run(interoperable) ++boost_test_run(iterator_traits_test) ++boost_test_run(permutation_iterator_test) +diff --git a/libs/lambda/CMakeLists.txt b/libs/lambda/CMakeLists.txt +new file mode 100644 +index 0000000..e5c6f1a +--- /dev/null ++++ b/libs/lambda/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ lambda ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ lambda ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/lambda/module.cmake b/libs/lambda/module.cmake +new file mode 100644 +index 0000000..9f7a073 +--- /dev/null ++++ b/libs/lambda/module.cmake +@@ -0,0 +1 @@ ++boost_module(lambda DEPENDS tuple) +\ No newline at end of file +diff --git a/libs/lambda/test/CMakeLists.txt b/libs/lambda/test/CMakeLists.txt +new file mode 100644 +index 0000000..4f9a74f +--- /dev/null ++++ b/libs/lambda/test/CMakeLists.txt +@@ -0,0 +1,24 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(lambda BOOST_DEPENDS test any) ++ ++boost_test_run(algorithm_test DEPENDS boost_test_exec_monitor) ++boost_test_run(bind_tests_simple DEPENDS boost_test_exec_monitor) ++boost_test_run(bind_tests_advanced DEPENDS boost_test_exec_monitor) ++boost_test_run(bind_tests_simple_f_refs DEPENDS boost_test_exec_monitor) ++boost_test_run(bll_and_function DEPENDS boost_test_exec_monitor) ++boost_test_run(lambda_cast_test ++ cast_test.cpp DEPENDS boost_test_exec_monitor) ++boost_test_run(constructor_tests DEPENDS boost_test_exec_monitor) ++boost_test_run(control_structures DEPENDS boost_test_exec_monitor) ++boost_test_run(exception_test DEPENDS boost_test_exec_monitor) ++boost_test_run(extending_rt_traits DEPENDS boost_test_exec_monitor) ++boost_test_run(is_instance_of_test DEPENDS boost_test_exec_monitor) ++boost_test_run(member_pointer_test DEPENDS boost_test_exec_monitor) ++boost_test_run(operator_tests_simple DEPENDS boost_test_exec_monitor) ++boost_test_run(phoenix_control_structures DEPENDS boost_test_exec_monitor) ++boost_test_run(switch_construct DEPENDS boost_test_exec_monitor) +diff --git a/libs/logic/CMakeLists.txt b/libs/logic/CMakeLists.txt +new file mode 100644 +index 0000000..da915e5 +--- /dev/null ++++ b/libs/logic/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ logic ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ logic ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/logic/module.cmake b/libs/logic/module.cmake +new file mode 100644 +index 0000000..4b1423f +--- /dev/null ++++ b/libs/logic/module.cmake +@@ -0,0 +1,3 @@ ++boost_module(logic DEPENDS config detail) ++ ++ +diff --git a/libs/logic/test/CMakeLists.txt b/libs/logic/test/CMakeLists.txt +new file mode 100644 +index 0000000..7684320 +--- /dev/null ++++ b/libs/logic/test/CMakeLists.txt +@@ -0,0 +1,12 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(logic BOOST_DEPENDS test) ++ ++ ++boost_test_run(tribool_test) ++boost_test_run(tribool_rename_test) ++boost_test_run(tribool_io_test) +diff --git a/libs/math/CMakeLists.txt b/libs/math/CMakeLists.txt +new file mode 100644 +index 0000000..0f7652e +--- /dev/null ++++ b/libs/math/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ math_fwd.hpp ++ math ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ math ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/math/module.cmake b/libs/math/module.cmake +new file mode 100644 +index 0000000..e222098 +--- /dev/null ++++ b/libs/math/module.cmake +@@ -0,0 +1 @@ ++boost_module(math DEPENDS format array) +\ No newline at end of file +diff --git a/libs/math/test/CMakeLists.txt b/libs/math/test/CMakeLists.txt +new file mode 100644 +index 0000000..88f26b7 +--- /dev/null ++++ b/libs/math/test/CMakeLists.txt +@@ -0,0 +1,33 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(math BOOST_DEPENDS test regex) ++include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++ ++boost_test_run(common_factor_test DEPENDS boost_unit_test_framework) ++boost_test_run(octonion_test ++ ../octonion/octonion_test.cpp ++ DEPENDS boost_unit_test_framework) ++boost_test_run(quaternion_test ++ ../quaternion/quaternion_test.cpp ++ DEPENDS boost_unit_test_framework) ++boost_test_run(special_functions_test ++ ../special_functions/special_functions_test.cpp ++ DEPENDS boost_unit_test_framework) ++boost_test_run(quaternion_multi_incl_test ++ ../quaternion/quaternion_mult_incl_test.cpp ++ ../quaternion/quaternion_mi1.cpp ++ ../quaternion/quaternion_mi2.cpp ++ DEPENDS boost_unit_test_framework) ++foreach(mathtest ++ ++ complex_test ++ hypot_test ++ ) ++ ++ boost_test_run(${mathtest} DEPENDS boost_test_exec_monitor) ++endforeach() ++ +diff --git a/libs/mpi/CMakeLists.txt b/libs/mpi/CMakeLists.txt +new file mode 100644 +index 0000000..21e408e +--- /dev/null ++++ b/libs/mpi/CMakeLists.txt +@@ -0,0 +1,31 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ mpi.hpp ++ mpi ++) ++ ++if (NOT MPI_FOUND) ++ colormsg(RED "+-- MPI not found, disabling.") ++else() ++ ++ boost_library_project( ++ mpi ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++ ) ++ ++endif() +diff --git a/libs/mpi/doc/CMakeLists.txt b/libs/mpi/doc/CMakeLists.txt +new file mode 100644 +index 0000000..22053b4 +--- /dev/null ++++ b/libs/mpi/doc/CMakeLists.txt +@@ -0,0 +1,36 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_documentation(mpi.qbk ++ HEADERS mpi_autodoc.xml ++ boost/mpi.hpp ++ boost/mpi/allocator.hpp ++ boost/mpi/collectives.hpp ++ boost/mpi/collectives_fwd.hpp ++ boost/mpi/communicator.hpp ++ boost/mpi/config.hpp ++ boost/mpi/datatype.hpp ++ boost/mpi/datatype_fwd.hpp ++ boost/mpi/environment.hpp ++ boost/mpi/exception.hpp ++ boost/mpi/graph_communicator.hpp ++ boost/mpi/group.hpp ++ boost/mpi/intercommunicator.hpp ++ boost/mpi/nonblocking.hpp ++ boost/mpi/operations.hpp ++ boost/mpi/packed_iarchive.hpp ++ boost/mpi/packed_oarchive.hpp ++ boost/mpi/skeleton_and_content.hpp ++ boost/mpi/skeleton_and_content_fwd.hpp ++ boost/mpi/status.hpp ++ boost/mpi/request.hpp ++ boost/mpi/timer.hpp ++ boost/mpi/python.hpp ++ DOXYGEN_PARAMETERS ++ MACRO_EXPANSION=YES ++ EXPAND_ONLY_PREDEF=YES ++ "PREDEFINED=BOOST_MPI_HAS_MEMORY_ALLOCATION= BOOST_MPI_HAS_NOARG_INITIALIZATION= MPI_VERSION=2 BOOST_MPI_DOXYGEN=" ++ ) +\ No newline at end of file +diff --git a/libs/mpi/module.cmake b/libs/mpi/module.cmake +new file mode 100644 +index 0000000..20350fa +--- /dev/null ++++ b/libs/mpi/module.cmake +@@ -0,0 +1 @@ ++boost_module(mpi DEPENDS graph) +\ No newline at end of file +diff --git a/libs/mpi/src/CMakeLists.txt b/libs/mpi/src/CMakeLists.txt +new file mode 100644 +index 0000000..fe5ea87 +--- /dev/null ++++ b/libs/mpi/src/CMakeLists.txt +@@ -0,0 +1,77 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++add_definitions(-DBOOST_MPI_SOURCE=1) ++include_directories(${MPI_INCLUDE_PATH}) ++ ++boost_add_library( ++ mpi ++ broadcast.cpp ++ communicator.cpp ++ computation_tree.cpp ++ content_oarchive.cpp ++ environment.cpp ++ exception.cpp ++ graph_communicator.cpp ++ group.cpp ++ intercommunicator.cpp ++ mpi_datatype_cache.cpp ++ mpi_datatype_oarchive.cpp ++ packed_iarchive.cpp ++ packed_oarchive.cpp ++ packed_skeleton_iarchive.cpp ++ packed_skeleton_oarchive.cpp ++ point_to_point.cpp ++ request.cpp ++ text_skeleton_oarchive.cpp ++ timer.cpp ++ DEPENDS boost_serialization ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1" ++ ) ++ ++if(PYTHON_FOUND) ++ ++ colormsg (GREEN "+-- Python available, enabling boost_mpi_python.") ++ include_directories(${PYTHON_INCLUDE_PATH}) ++ ++ boost_add_library(mpi_python ++ ++ python/serialize.cpp ++ ++ DEPENDS boost_python boost_mpi ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1" ++ LINK_FLAGS ${MPI_LINK_FLAGS} ++ LINK_LIBS ${MPI_LIBRARIES} ${PYTHON_LIBRARIES} ++ NO_STATIC) ++ ++ boost_python_extension(mpi ++ ++ python/collectives.cpp ++ python/py_communicator.cpp ++ python/datatypes.cpp ++ python/documentation.cpp ++ python/py_environment.cpp ++ python/py_nonblocking.cpp ++ python/py_exception.cpp ++ python/module.cpp ++ python/py_request.cpp ++ python/skeleton_and_content.cpp ++ python/status.cpp ++ python/py_timer.cpp ++ ++ DEPENDS boost_python boost_mpi ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1 -DBOOST_MPI_PYTHON_DYN_LINK=1 -DBOOST_PYTHON_DYN_LINK=1" ++ LINK_FLAGS ${MPI_LINK_FLAGS} ++ LINK_LIBS ${MPI_LIBRARIES} ${PYTHON_LIBRARIES}) ++ ++else() ++ colormsg(RED "+-- optional python bindings disabled since PYTHON_FOUND is false.") ++endif() ++ +diff --git a/libs/mpi/test/CMakeLists.txt b/libs/mpi/test/CMakeLists.txt +new file mode 100644 +index 0000000..5ff2b9a +--- /dev/null ++++ b/libs/mpi/test/CMakeLists.txt +@@ -0,0 +1,77 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (MPI_FOUND) ++message(STATUS "MPI Found") ++ ++boost_additional_test_dependencies(mpi BOOST_DEPENDS test ) ++ ++include_directories(${MPI_INCLUDE_PATH}) ++ ++# Declare a test for the Boost.MPI library, which may involve both ++# building the test and executing it with varying numbers of ++# processes. ++# ++# boost_mpi_test(testname ++# [source1 source2 ...] ++# [ARGS arg1 arg2 ...] ++# [SCHEDULE procs1 procs2 ...] ++# ++# testname is the name of the test. source1, source2, etc. are the ++# source files that will be built and linked into the test ++# executable. If no source files are provided, the file "testname.cpp" ++# will be used instead. ++macro(boost_mpi_test testname) ++ PARSE_ARGUMENTS(MPI_TEST "SCHEDULE;ARGS" "" ${ARGN}) ++ ++ # Determine the test sources ++ if (MPI_TEST_DEFAULT_ARGS) ++ set(MPI_TEST_SOURCES ${MPI_TEST_DEFAULT_ARGS}) ++ else (MPI_TEST_DEFAULT_ARGS) ++ set(MPI_TEST_SOURCES "${testname}.cpp") ++ endif (MPI_TEST_DEFAULT_ARGS) ++ ++ # Build the test executable ++ boost_add_executable(${testname} ++ ${MPI_TEST_SOURCES} ++ OUTPUT_NAME tests/${PROJECT_NAME}/${testname} ++ NO_INSTALL ++ DEPENDS boost_mpi ++ COMPILE_FLAGS "${MPI_COMPILE_FLAGS}" ++ LINK_FLAGS "${MPI_LINK_FLAGS}" ++ LINK_LIBS ${MPI_LIBRARIES} ++ SHARED_COMPILE_FLAGS "-DBOOST_MPI_DYN_LINK=1") ++ if (THIS_EXE_OKAY) ++ if (NOT MPI_TEST_SCHEDULE) ++ set(MPI_TEST_SCHEDULE 1 2 3 4 7 8 13 17) ++ endif (NOT MPI_TEST_SCHEDULE) ++ ++ foreach(PROCS ${MPI_TEST_SCHEDULE}) ++ add_test("${PROJECT_NAME}::${testname}-${PROCS}" ++ ${MPIEXEC} ++ -n ${PROCS} ++ ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/tests/${PROJECT_NAME}/${testname} ++ ${BOOST_TEST_ARGS} ++ ) ++ endforeach(PROCS) ++ endif (THIS_EXE_OKAY) ++endmacro(boost_mpi_test) ++ ++boost_mpi_test(all_gather_test) ++boost_mpi_test(all_reduce_test) ++boost_mpi_test(all_to_all_test) ++boost_mpi_test(broadcast_test SCHEDULE 2 17) ++boost_mpi_test(graph_topology_test SCHEDULE 2 7 13) ++boost_mpi_test(is_mpi_op_test SCHEDULE 1) ++boost_mpi_test(nonblocking_test) ++boost_mpi_test(reduce_test) ++boost_mpi_test(ring_test SCHEDULE 2 3 4 7 8 13 17) ++boost_mpi_test(scan_test) ++boost_mpi_test(scatter_test) ++boost_mpi_test(skeleton_content_test SCHEDULE 2 3 4 7 8 13 17) ++ ++ ++endif (MPI_FOUND) +\ No newline at end of file +diff --git a/libs/mpl/CMakeLists.txt b/libs/mpl/CMakeLists.txt +new file mode 100644 +index 0000000..ea43e88 +--- /dev/null ++++ b/libs/mpl/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ mpl ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ mpl ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A general-purpose, high-level C++ template metaprogramming framework of compile-time algorithms, sequences and metafunctions. It provides a conceptual foundation and an extensive set of powerful and coherent tools that make doing explict metaprogramming in C++ as easy and enjoyable as possible within the current language." ++ MODULARIZED ++ AUTHORS "Aleksey Gurtovoy " ++ "David Abrahams " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/mpl/module.cmake b/libs/mpl/module.cmake +new file mode 100644 +index 0000000..afa88fd +--- /dev/null ++++ b/libs/mpl/module.cmake +@@ -0,0 +1 @@ ++boost_module(mpl DEPENDS preprocessor config detail) +\ No newline at end of file +diff --git a/libs/mpl/test/CMakeLists.txt b/libs/mpl/test/CMakeLists.txt +new file mode 100644 +index 0000000..e8b182b +--- /dev/null ++++ b/libs/mpl/test/CMakeLists.txt +@@ -0,0 +1,97 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(mpl BOOST_DEPENDS test bind) ++ ++boost_test_compile(largest_int aux_/largest_int.cpp) ++boost_test_compile(msvc_is_class aux_/msvc_is_class.cpp) ++boost_test_compile(template_arity aux_/template_arity.cpp) ++ ++boost_test_compile(advance) ++boost_test_compile(always) ++boost_test_compile(apply) ++boost_test_compile(apply_wrap) ++boost_test_compile(arithmetic) ++boost_test_compile(as_sequence) ++boost_test_compile(assert) ++boost_test_compile(at) ++boost_test_compile(back) ++boost_test_compile(bind) ++boost_test_compile(bitwise) ++boost_test_run(bool) ++boost_test_compile(comparison) ++boost_test_compile(contains) ++boost_test_compile(copy) ++boost_test_compile(copy_if) ++boost_test_compile(count) ++boost_test_compile(count_if) ++boost_test_compile(deque) ++boost_test_compile(distance) ++boost_test_compile(empty) ++boost_test_compile(equal) ++boost_test_compile(erase) ++boost_test_compile(erase_range) ++boost_test_compile(eval_if) ++boost_test_compile(filter_view) ++boost_test_compile(find) ++boost_test_compile(find_if) ++boost_test_compile(fold) ++boost_test_run(for_each) ++boost_test_compile(front) ++boost_test_compile(has_xxx) ++boost_test_compile(identity) ++boost_test_compile(if) ++boost_test_compile(index_of) ++boost_test_compile(inherit) ++boost_test_compile(insert) ++boost_test_compile(insert_range) ++boost_test_run(int) ++boost_test_run(integral_c) ++boost_test_compile(is_placeholder) ++boost_test_compile(is_sequence) ++boost_test_compile(iterator_tags) ++boost_test_compile(joint_view) ++boost_test_compile(lambda) ++boost_test_compile(lambda_args) ++boost_test_compile(list) ++boost_test_compile(list_c) ++boost_test_compile(logical) ++boost_test_compile(lower_bound) ++boost_test_compile(map) ++boost_test_compile(max_element) ++boost_test_compile(min_max) ++boost_test_compile(multiset) ++boost_test_compile(next) ++boost_test_compile(no_has_xxx) ++boost_test_compile(numeric_ops) ++boost_test_compile(pair_view) ++boost_test_compile(partition) ++boost_test_compile(pop_front) ++boost_test_compile(push_front) ++boost_test_compile(quote) ++boost_test_compile(range_c) ++boost_test_compile(remove) ++boost_test_compile(remove_if) ++boost_test_compile(replace) ++boost_test_compile(replace_if) ++boost_test_compile(reverse) ++boost_test_compile(same_as) ++boost_test_compile(set) ++boost_test_compile(set_c) ++boost_test_compile(single_view) ++boost_test_compile(size) ++boost_test_run(size_t) ++boost_test_compile(sizeof) ++boost_test_compile(sort) ++boost_test_compile(stable_partition) ++boost_test_compile(transform) ++boost_test_compile(transform_view) ++boost_test_compile(unique) ++boost_test_compile(unpack_args) ++boost_test_compile(upper_bound) ++boost_test_compile(vector) ++boost_test_compile(vector_c) ++boost_test_compile(zip_view) +diff --git a/libs/msm/CMakeLists.txt b/libs/msm/CMakeLists.txt +new file mode 100644 +index 0000000..456588c +--- /dev/null ++++ b/libs/msm/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ msm ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ msm ++ # SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ DESCRIPTION "Meta State Machine (MSM)." ++ MODULARIZED ++ AUTHORS "Christophe Henry " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/msm/module.cmake b/libs/msm/module.cmake +new file mode 100644 +index 0000000..01c64ff +--- /dev/null ++++ b/libs/msm/module.cmake +@@ -0,0 +1 @@ ++boost_module(msm DEPENDS smart_ptr) +\ No newline at end of file +diff --git a/libs/multi_array/CMakeLists.txt b/libs/multi_array/CMakeLists.txt +new file mode 100644 +index 0000000..96fc47d +--- /dev/null ++++ b/libs/multi_array/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ multi_array.hpp ++ multi_array ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ multi_array ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/multi_array/module.cmake b/libs/multi_array/module.cmake +new file mode 100644 +index 0000000..a7e6bf9 +--- /dev/null ++++ b/libs/multi_array/module.cmake +@@ -0,0 +1,2 @@ ++boost_module(multi_array DEPENDS array iterator detail concept_check mpl static_assert functional) ++ +diff --git a/libs/multi_array/test/CMakeLists.txt b/libs/multi_array/test/CMakeLists.txt +new file mode 100644 +index 0000000..451646c +--- /dev/null ++++ b/libs/multi_array/test/CMakeLists.txt +@@ -0,0 +1,47 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(multi_array BOOST_DEPENDS test) ++ ++ ++boost_test_compile_fail(fail_cbracket) ++boost_test_compile_fail(fail_cdata) ++boost_test_compile_fail(fail_citerator) ++boost_test_compile_fail(fail_cparen) ++boost_test_compile_fail(fail_criterator) ++boost_test_compile_fail(fail_csubarray) ++boost_test_compile_fail(fail_csubarray2) ++boost_test_compile_fail(fail_csubarray3) ++boost_test_compile_fail(fail_cview) ++boost_test_compile_fail(fail_cview2) ++boost_test_compile_fail(fail_cview3) ++boost_test_compile_fail(fail_ref_cbracket) ++boost_test_compile_fail(fail_ref_cdata) ++boost_test_compile_fail(fail_ref_citerator) ++boost_test_compile_fail(fail_ref_cparen) ++boost_test_compile_fail(fail_ref_criterator) ++boost_test_compile_fail(fail_ref_csubarray) ++boost_test_compile_fail(fail_ref_csubarray2) ++boost_test_compile_fail(fail_ref_csubarray3) ++boost_test_compile_fail(fail_ref_cview) ++boost_test_compile_fail(fail_ref_cview2) ++boost_test_compile_fail(fail_ref_cview3) ++ ++boost_test_run(constructors DEPENDS boost_test_exec_monitor) ++boost_test_run(access DEPENDS boost_test_exec_monitor) ++boost_test_run(compare DEPENDS boost_test_exec_monitor) ++boost_test_run(iterators DEPENDS boost_test_exec_monitor) ++boost_test_run(slice DEPENDS boost_test_exec_monitor) ++boost_test_run(assign DEPENDS boost_test_exec_monitor) ++boost_test_run(assign_to_array DEPENDS boost_test_exec_monitor) ++boost_test_run(index_bases DEPENDS boost_test_exec_monitor) ++boost_test_run(storage_order DEPENDS boost_test_exec_monitor) ++boost_test_run(reshape DEPENDS boost_test_exec_monitor) ++boost_test_run(range1 DEPENDS boost_test_exec_monitor) ++boost_test_run(idxgen1 DEPENDS boost_test_exec_monitor) ++boost_test_run(stl_interaction DEPENDS boost_test_exec_monitor) ++boost_test_run(resize DEPENDS boost_test_exec_monitor) ++boost_test_compile(concept_checks) +diff --git a/libs/multi_index/CMakeLists.txt b/libs/multi_index/CMakeLists.txt +new file mode 100644 +index 0000000..9bb688a +--- /dev/null ++++ b/libs/multi_index/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ multi_index_container.hpp ++ multi_index_container_fwd.hpp ++ multi_index ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ multi_index ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/multi_index/module.cmake b/libs/multi_index/module.cmake +new file mode 100644 +index 0000000..ce8ee4b +--- /dev/null ++++ b/libs/multi_index/module.cmake +@@ -0,0 +1 @@ ++boost_module(multi_index DEPENDS serialization functional math) +\ No newline at end of file +diff --git a/libs/multi_index/test/CMakeLists.txt b/libs/multi_index/test/CMakeLists.txt +new file mode 100644 +index 0000000..09103af +--- /dev/null ++++ b/libs/multi_index/test/CMakeLists.txt +@@ -0,0 +1,34 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(multi_index BOOST_DEPENDS test) ++ ++ ++boost_test_run(test_basic test_basic.cpp test_basic_main.cpp) ++boost_test_run(test_capacity test_capacity.cpp test_capacity_main.cpp) ++boost_test_run(test_comparison test_comparison.cpp test_comparison_main.cpp) ++boost_test_run(test_composite_key test_composite_key.cpp test_composite_key_main.cpp) ++boost_test_run(test_conv_iterators test_conv_iterators.cpp test_conv_iterators_main.cpp) ++boost_test_run(test_copy_assignment test_copy_assignment.cpp test_copy_assignment_main.cpp) ++boost_test_run(test_hash_ops test_hash_ops.cpp test_hash_ops_main.cpp) ++boost_test_run(test_iterators test_iterators.cpp test_iterators_main.cpp) ++boost_test_run(test_key_extractors test_key_extractors.cpp test_key_extractors_main.cpp) ++boost_test_run(test_list_ops test_list_ops.cpp test_list_ops_main.cpp) ++boost_test_run(test_modifiers test_modifiers.cpp test_modifiers_main.cpp) ++boost_test_run(test_mpl_ops test_mpl_ops.cpp test_mpl_ops_main.cpp) ++boost_test_run(test_observers test_observers.cpp test_observers_main.cpp) ++boost_test_run(test_projection test_projection.cpp test_projection_main.cpp) ++boost_test_run(test_range test_range.cpp test_range_main.cpp) ++boost_test_run(test_rearrange test_rearrange.cpp test_rearrange_main.cpp) ++boost_test_run(test_safe_mode test_safe_mode.cpp test_safe_mode_main.cpp) ++boost_test_run(test_serialization ++ test_serialization.cpp test_serialization1.cpp ++ test_serialization2.cpp test_serialization3.cpp ++ test_serialization_main.cpp ++ DEPENDS boost_serialization) ++boost_test_run(test_set_ops test_set_ops.cpp test_set_ops_main.cpp) ++boost_test_run(test_special_set_ops test_special_set_ops.cpp test_special_set_ops_main.cpp) ++boost_test_run(test_update test_update.cpp test_update_main.cpp) +diff --git a/libs/numeric/CMakeLists.txt b/libs/numeric/CMakeLists.txt +new file mode 100644 +index 0000000..a5e5689 +--- /dev/null ++++ b/libs/numeric/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ numeric ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ numeric ++ # SRCDIRS ++ TESTDIRS conversion/test interval/test ublas/test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/numeric/conversion/test/CMakeLists.txt b/libs/numeric/conversion/test/CMakeLists.txt +new file mode 100644 +index 0000000..ca88052 +--- /dev/null ++++ b/libs/numeric/conversion/test/CMakeLists.txt +@@ -0,0 +1,17 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#------------------------------------------------------------------------- ++#-- Needed include directories for the tests ++boost_additional_test_dependencies(numeric BOOST_DEPENDS test) ++#------------------------------------------------------------------------- ++ ++boost_test_run(bounds_test) ++boost_test_run(traits_test) ++boost_test_run(converter_test) ++boost_test_run(udt_support_test) ++boost_test_run(numeric_conv_cast_test numeric_cast_test.cpp) ++boost_test_run(udt_example_0) +diff --git a/libs/numeric/interval/test/CMakeLists.txt b/libs/numeric/interval/test/CMakeLists.txt +new file mode 100644 +index 0000000..e0c4e54 +--- /dev/null ++++ b/libs/numeric/interval/test/CMakeLists.txt +@@ -0,0 +1,34 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#TODO: Deal with these on OSF ++# hp_cxx,OSF:"-fprm d" ++ # gcc,OSF:-mfp-rounding-mode=d ++ ++#------------------------------------------------------------------------- ++#-- Needed include directories for the tests ++boost_additional_test_dependencies(numeric BOOST_DEPENDS test) ++#------------------------------------------------------------------------- ++ ++boost_test_compile(integer) ++ ++boost_test_run(add) ++boost_test_run(det) ++boost_test_run(fmod) ++message(STATUS "numeric/interval/test/mul needs love") ++#boost_test_run(mul) ++message(STATUS "numeric/interval/test/overflow needs love") ++#boost_test_run(overflow) ++boost_test_run(pi) ++boost_test_run(pow) ++ ++boost_test_run(cmp DEPENDS boost_test_exec_monitor) ++boost_test_run(cmp_exn DEPENDS boost_test_exec_monitor) ++boost_test_run(cmp_exp DEPENDS boost_test_exec_monitor) ++boost_test_run(cmp_lex DEPENDS boost_test_exec_monitor) ++boost_test_run(cmp_set DEPENDS boost_test_exec_monitor) ++boost_test_run(cmp_tribool DEPENDS boost_test_exec_monitor) ++boost_test_run(test_float DEPENDS boost_test_exec_monitor) +diff --git a/libs/numeric/module.cmake b/libs/numeric/module.cmake +new file mode 100644 +index 0000000..cab15aa +--- /dev/null ++++ b/libs/numeric/module.cmake +@@ -0,0 +1 @@ ++boost_module(numeric DEPENDS logic serialization) +\ No newline at end of file +diff --git a/libs/numeric/ublas/test/CMakeLists.txt b/libs/numeric/ublas/test/CMakeLists.txt +new file mode 100644 +index 0000000..adb7b7a +--- /dev/null ++++ b/libs/numeric/ublas/test/CMakeLists.txt +@@ -0,0 +1,86 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# Define features to test: ++# Value types: USE_FLOAT USE_DOUBLE USE_STD_COMPLEX ++# Proxies: USE_RANGE USE_SLICE ++# Storage types: USE_BOUNDED_ARRAY USE_UNBOUNDED_ARRAY ++# Vector types: USE_STD_VECTOR USE_BOUNDED_VECTOR ++# Matrix types: USE_MATRIX USE_BOUNDED_MATRIX USE_VECTOR_OF_VECTOR ++# Adaptors: USE_ADAPTOR ++ ++set(UBLAS_TESTSET_DEFINES ++ "-DUSE_DOUBLE -DUSE_STD_COMPLEX -DUSE_RANGE -DUSE_SLICE -DUSE_UNBOUNDED_ARRAY -DUSE_STD_VECTOR -DUSE_BOUNDED_VECTOR -DUSE_MATRIX") ++ ++# Sparse storage: USE_MAP_ARRAY USE_STD_MAP ++# Sparse vectors: USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR USE_COORDINATE_VECTOR ++# Sparse matrices: USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX USE_COORDINATE_MATRIX USE_MAPPED_VECTOR_OF_MAPPED_VECTOR USE_GENERALIZED_VECTOR_OF_VECTOR ++ ++set(UBLAS_TESTSET_SPARSE_DEFINES ++ "-DUSE_DOUBLE -DUSE_STD_COMPLEX -DUSE_UNBOUNDED_ARRAY -DUSE_MAP_ARRAY -DUSE_STD_MAP -DUSE_MAPPED_VECTOR -DUSE_COMPRESSED_VECTOR -DUSE_COORDINATE_VECTOR -DUSE_MAPPED_MATRIX -DUSE_COMPRESSED_MATRIX -DUSE_COORDINATE_MATRIX") ++ ++# Definitions for uBLAS tests ++add_definitions(-DBOOST_UBLAS_NO_EXCEPTIONS) ++# TODO: vacpp:"BOOST_UBLAS_NO_ELEMENT_PROXIES" ++ ++#------------------------------------------------------------------------- ++#-- Needed include directories for the tests ++boost_additional_test_dependencies(numeric BOOST_DEPENDS test) ++#------------------------------------------------------------------------- ++ ++ ++boost_test_run(ublas_test1 ++ test1.cpp test11.cpp test12.cpp test13.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}") ++ ++boost_test_run(ublas_test2 ++ test2.cpp test21.cpp test22.cpp test23.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}") ++ ++boost_test_run(ublas_test3 ++ test3.cpp test31.cpp test32.cpp test33.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_SPARSE_DEFINES}") ++ ++boost_test_run(ublas_test4 ++ test4.cpp test42.cpp test43.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}") ++ ++boost_test_run(ublas_test5 ++ test5.cpp test52.cpp test53.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}") ++ ++boost_test_run(ublas_test6 ++ test6.cpp test62.cpp test63.cpp ++ COMPILE_FLAGS "${UBLAS_TESTSET_DEFINES}") ++ ++# Test commented out because boost::interval does not behave like a scalar ++# boost_test_run(test7 ++# test7.cpp test71.cpp test72.cpp test73.cpp ++# COMPILE_FLAGS "-DBOOST_UBLAS_USE_INTERVAL ${UBLAS_TESTSET_DEFINES}") ++ ++boost_test_run(placement_new) ++ ++boost_test_run(test_lu) ++ ++boost_test_run(triangular_access ++ triangular_access.cpp ++ COMPILE_FLAGS "-DNOMESSAGES") ++ ++boost_test_run(triangular_layout ++ triangular_layout.cpp) ++ ++ ++SET(test_compile_flags "-DEXTERNAL") ++#-- Intel Compiler flags ++IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ SET(test_compile_flags "${test_compile_flags} -Xc") ++ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ ++IF (APPLE) ++ SET(test_compile_flags "${test_compile_flags} -fabi-version=0") ++ENDIF (APPLE) ++ ++boost_test_compile(concepts COMPILE_FLAGS "-DEXTERNAL") +diff --git a/libs/optional/CMakeLists.txt b/libs/optional/CMakeLists.txt +new file mode 100644 +index 0000000..3e08aa8 +--- /dev/null ++++ b/libs/optional/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ optional.hpp ++ optional ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ optional ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/optional/module.cmake b/libs/optional/module.cmake +new file mode 100644 +index 0000000..59d630b +--- /dev/null ++++ b/libs/optional/module.cmake +@@ -0,0 +1 @@ ++boost_module(optional DEPENDS utility) +\ No newline at end of file +diff --git a/libs/optional/test/CMakeLists.txt b/libs/optional/test/CMakeLists.txt +new file mode 100644 +index 0000000..1a2d09a +--- /dev/null ++++ b/libs/optional/test/CMakeLists.txt +@@ -0,0 +1,23 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(optional BOOST_DEPENDS test tuple) ++ ++ ++boost_test_run(optional_test) ++boost_test_run(optional_test_tie) ++boost_test_run(optional_test_ref ++ KNOWN_FAILURES "gcc-4.[0-3].[0-9]-.*") ++boost_test_run(optional_test_inplace) ++boost_test_run(optional_test_io) ++boost_test_compile_fail(optional_test_fail1) ++boost_test_compile_fail(optional_test_fail3a) ++boost_test_compile_fail(optional_test_fail3b) ++boost_test_compile_fail(optional_test_ref_fail1) ++boost_test_compile_fail(optional_test_ref_fail3) ++boost_test_compile_fail(optional_test_ref_fail4) ++boost_test_compile_fail(optional_test_inplace_fail) ++boost_test_compile_fail(optional_test_inplace_fail2) +diff --git a/libs/parameter/CMakeLists.txt b/libs/parameter/CMakeLists.txt +new file mode 100644 +index 0000000..4e3e89b +--- /dev/null ++++ b/libs/parameter/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ parameter.hpp ++ parameter ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ parameter ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Write functions that accept arguments by name." ++ MODULARIZED ++ AUTHORS "David Abrahams " ++ "Daniel Wallin " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/parameter/module.cmake b/libs/parameter/module.cmake +new file mode 100644 +index 0000000..c72dba5 +--- /dev/null ++++ b/libs/parameter/module.cmake +@@ -0,0 +1 @@ ++boost_module(parameter DEPENDS python) +\ No newline at end of file +diff --git a/libs/parameter/test/CMakeLists.txt b/libs/parameter/test/CMakeLists.txt +new file mode 100644 +index 0000000..b11e21b +--- /dev/null ++++ b/libs/parameter/test/CMakeLists.txt +@@ -0,0 +1,113 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(optional BOOST_DEPENDS test timer) ++ ++ ++boost_test_run(basics) ++boost_test_run(sfinae) ++boost_test_run(macros) ++boost_test_run(earwicker) ++boost_test_run(tutorial) ++boost_test_run(singular) ++boost_test_run(mpl) ++boost_test_run(preprocessor) ++boost_test_run(preprocessor_deduced) ++boost_test_run(efficiency COMPILE_FLAGS "${RELEASE_COMPILE_FLAGS}") ++boost_test_run(maybe) ++boost_test_run(deduced) ++boost_test_run(optional_deduced_sfinae) ++boost_test_run(deduced_dependent_predicate) ++boost_test_run(normalized_argument_types) ++boost_test_compile(ntp) ++boost_test_compile(unwrap_cv_reference) ++boost_test_compile_fail(duplicates) ++boost_test_compile_fail(deduced_unmatched_arg) ++boost_test_compile(compose) ++ ++if (PYTHON_FOUND) ++ ++ include_directories(${PYTHON_INCLUDE_PATH}) ++ ++ # ++ # This came from libs/python/test/CMakeLists.txt ++ # ++ # copy-pasting this kind of code is of course an awful idea. ++ # ++ macro(bpl_test TESTNAME) ++ parse_arguments(BPL_TEST ++ "ARGS" ++ "" ++ ${ARGN}) ++ ++ # Determine the Python and C++ source files for this test ++ if (BPL_TEST_DEFAULT_ARGS) ++ # First argument is the Python source we will run, the rest are ++ # either extra Python sources we're dependent on or C++ files from ++ # which we will build extension modules. ++ car(BPL_TEST_PYSOURCE ${BPL_TEST_DEFAULT_ARGS}) ++ cdr(BPL_TEST_DEFAULT_ARGS ${BPL_TEST_DEFAULT_ARGS}) ++ ++ get_filename_component(BPL_TEST_PYBASE ${BPL_TEST_PYSOURCE} NAME_WE) ++ ++ # Process all the .cpp file and extension module names ++ foreach(SRC ${BPL_TEST_DEFAULT_ARGS}) ++ get_filename_component(BPL_SRC_EXT ${SRC} EXT) ++ if (BPL_SRC_EXT STREQUAL ".cpp") ++ ++ # Build a Python extension module from this source file ++ get_filename_component(BPL_SRC_NAME ${SRC} NAME_WE) ++ ++ if(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}_ext) ++ else(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}) ++ endif(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ ++ boost_python_extension(${BPL_EXTENSION_MODULE} ${SRC}) ++ ++ else (BPL_SRC_EXT STREQUAL ".cpp") ++ set(BPL_EXTENSION_MODULE ${SRC}) ++ ++ endif (BPL_SRC_EXT STREQUAL ".cpp") ++ ++ endforeach(SRC ${BPL_TEST_DEFAULT_ARGS}) ++ ++ else (BPL_TEST_DEFAULT_ARGS) ++ ++ set(BPL_TEST_PYSOURCE "${TESTNAME}.py") ++ ++ # Build a Python extension module from this source file ++ boost_python_extension(${TESTNAME}_ext "${TESTNAME}.cpp") ++ ++ endif(BPL_TEST_DEFAULT_ARGS) ++ ++ # We'll need the full patch to run the Python test ++ set(BPL_TEST_PYSOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${BPL_TEST_PYSOURCE}) ++ ++ # Run the test itself ++ file(TO_NATIVE_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" PYTHONPATH) ++ if(WIN32 AND NOT UNIX) ++ string(REPLACE "\\" "\\\\" PYTHONPATH "${PYTHONPATH}") ++ endif(WIN32 AND NOT UNIX) ++ set(FULL_TESTNAME ${PROJECT_NAME}-${TESTNAME}) ++ add_test(${FULL_TESTNAME} ++ ${VALGRIND_EXECUTABLE} ++ ${VALGRIND_FLAGS} ++ ${PYTHON_EXECUTABLE} ++ "${CMAKE_CURRENT_SOURCE_DIR}/pyrun.py" ++ "${PYTHONPATH}" ++ ${BPL_TEST_PYSOURCE} ${BPL_TEST_ARGS}) ++ ++ set_tests_properties(${FULL_TESTNAME} ++ PROPERTIES ++ LABELS "${PROJECT_NAME}" ++ ) ++ endmacro(bpl_test) ++ ++ bpl_test(python_test) ++ ++endif() +\ No newline at end of file +diff --git a/libs/polygon/CMakeLists.txt b/libs/polygon/CMakeLists.txt +new file mode 100644 +index 0000000..ce3b9da +--- /dev/null ++++ b/libs/polygon/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ polygon ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ polygon ++ # SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ DESCRIPTION "Algorithms focused on manipulating planar polygon geometry data." ++ MODULARIZED ++ AUTHORS "Intel Corporation" ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/polygon/module.cmake b/libs/polygon/module.cmake +new file mode 100644 +index 0000000..4b60760 +--- /dev/null ++++ b/libs/polygon/module.cmake +@@ -0,0 +1 @@ ++boost_module(polygon DEPENDS smart_ptr) +\ No newline at end of file +diff --git a/libs/pool/CMakeLists.txt b/libs/pool/CMakeLists.txt +new file mode 100644 +index 0000000..ccf6649 +--- /dev/null ++++ b/libs/pool/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ pool ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ pool ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/pool/module.cmake b/libs/pool/module.cmake +new file mode 100644 +index 0000000..cb1c034 +--- /dev/null ++++ b/libs/pool/module.cmake +@@ -0,0 +1 @@ ++boost_module(pool DEPENDS config detail exception) +\ No newline at end of file +diff --git a/libs/pool/test/CMakeLists.txt b/libs/pool/test/CMakeLists.txt +new file mode 100644 +index 0000000..b101cd3 +--- /dev/null ++++ b/libs/pool/test/CMakeLists.txt +@@ -0,0 +1,9 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(pool BOOST_DEPENDS test) ++ ++boost_test_run(test_pool_alloc DEPENDS boost_test_exec_monitor) +diff --git a/libs/preprocessor/CMakeLists.txt b/libs/preprocessor/CMakeLists.txt +new file mode 100644 +index 0000000..78b1676 +--- /dev/null ++++ b/libs/preprocessor/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ preprocessor.hpp ++ preprocessor ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ preprocessor ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/preprocessor/module.cmake b/libs/preprocessor/module.cmake +new file mode 100644 +index 0000000..5dc6e3d +--- /dev/null ++++ b/libs/preprocessor/module.cmake +@@ -0,0 +1,4 @@ ++# Preprocessor does not depend on anything else ++ ++ ++ +\ No newline at end of file +diff --git a/libs/preprocessor/test/CMakeLists.txt b/libs/preprocessor/test/CMakeLists.txt +new file mode 100644 +index 0000000..3a50ea7 +--- /dev/null ++++ b/libs/preprocessor/test/CMakeLists.txt +@@ -0,0 +1,23 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(preprocessor BOOST_DEPENDS test) ++ ++ ++boost_test_compile(arithmetic) ++boost_test_compile(array) ++boost_test_compile(comparison) ++boost_test_compile(control) ++boost_test_compile(debug) ++boost_test_compile(facilities) ++boost_test_compile(iteration) ++boost_test_compile(list) ++boost_test_compile(logical) ++boost_test_compile(repetition) ++boost_test_compile(selection) ++boost_test_compile(seq) ++boost_test_compile(slot) ++boost_test_compile(tuple) +diff --git a/libs/program_options/CMakeLists.txt b/libs/program_options/CMakeLists.txt +new file mode 100644 +index 0000000..85d1806 +--- /dev/null ++++ b/libs/program_options/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ program_options.hpp ++ program_options ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ program_options ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Access to configuration data given on command line, in config files and other sources." ++ MODULARIZED ++ AUTHORS "Vladimir Prus " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/program_options/module.cmake b/libs/program_options/module.cmake +new file mode 100644 +index 0000000..cf44a1e +--- /dev/null ++++ b/libs/program_options/module.cmake +@@ -0,0 +1 @@ ++boost_module(program_options DEPENDS any bind smart_ptr test tokenizer) +diff --git a/libs/program_options/src/CMakeLists.txt b/libs/program_options/src/CMakeLists.txt +new file mode 100644 +index 0000000..9a20ec2 +--- /dev/null ++++ b/libs/program_options/src/CMakeLists.txt +@@ -0,0 +1,11 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library(program_options ++ cmdline.cpp config_file.cpp options_description.cpp parsers.cpp ++ variables_map.cpp value_semantic.cpp positional_options.cpp ++ utf8_codecvt_facet.cpp convert.cpp winmain.cpp ++ SHARED_COMPILE_FLAGS "-DBOOST_PROGRAM_OPTIONS_DYN_LINK=1") +diff --git a/libs/program_options/test/CMakeLists.txt b/libs/program_options/test/CMakeLists.txt +new file mode 100644 +index 0000000..48ec7b1 +--- /dev/null ++++ b/libs/program_options/test/CMakeLists.txt +@@ -0,0 +1,39 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(program_options BOOST_DEPENDS test) ++ ++set(PROGRAM_OPTIONS_LIBRARIES ++ boost_program_options ++ boost_test_exec_monitor) ++ ++set(BOOST_TEST_EXEC_MONITOR_SUFFIX "") ++if (NOT BUILD_SINGLE_THREADED) ++ set(BOOST_TEST_EXEC_MONITOR_SUFFIX "-mt") ++endif() ++set(BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-static") ++if (NOT BUILD_RELEASE) ++ set(BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-debug") ++endif() ++ ++macro(program_options_test_run TESTNAME) ++ boost_test_run(${TESTNAME} ++ STATIC ++ DEPENDS boost_program_options boost_test_exec_monitor ) ++ boost_test_run("${TESTNAME}_dll" ++ ${TESTNAME}.cpp ++ SHARED ++ DEPENDS boost_program_options ++ "boost_test_exec_monitor${BOOST_TEST_EXEC_MONITOR_SUFFIX}") ++endmacro(program_options_test_run) ++ ++program_options_test_run(options_description_test) ++program_options_test_run(parsers_test) ++program_options_test_run(variable_map_test) ++program_options_test_run(cmdline_test) ++program_options_test_run(positional_options_test) ++program_options_test_run(unicode_test) ++program_options_test_run(winmain) +diff --git a/libs/property_map/CMakeLists.txt b/libs/property_map/CMakeLists.txt +new file mode 100644 +index 0000000..719c431 +--- /dev/null ++++ b/libs/property_map/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# Copyright (C) 2008 Michael Jackson ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ property_map ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/property_map/module.cmake b/libs/property_map/module.cmake +new file mode 100644 +index 0000000..ea68026 +--- /dev/null ++++ b/libs/property_map/module.cmake +@@ -0,0 +1 @@ ++boost_module(property_map DEPENDS concept_check) +\ No newline at end of file +diff --git a/libs/property_map/test/CMakeLists.txt b/libs/property_map/test/CMakeLists.txt +new file mode 100644 +index 0000000..ff09b3c +--- /dev/null ++++ b/libs/property_map/test/CMakeLists.txt +@@ -0,0 +1,11 @@ ++# Copyright (C) 2008 Michael Jackson ++# ++# Use, modification and distribution is subject to the Boost Software ++# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt) ++ ++boost_additional_test_dependencies(property_map BOOST_DEPENDS test concept_check any) ++ ++boost_test_compile(property_map_cc) ++ ++boost_test_run(dynamic_properties_test) +diff --git a/libs/property_tree/CMakeLists.txt b/libs/property_tree/CMakeLists.txt +new file mode 100644 +index 0000000..1dc18c5 +--- /dev/null ++++ b/libs/property_tree/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ property_tree ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ property_tree ++ # SRCDIRS src ++ TESTDIRS test ++ EXAMPLEDIRS example ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ DESCRIPTION "Data structure storing an arbitrarily deeply nested tree of values, indexed at each level by some key." ++ MODULARIZED ++ AUTHORS "Marcin Kalicinski " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/property_tree/module.cmake b/libs/property_tree/module.cmake +new file mode 100644 +index 0000000..e26d8ad +--- /dev/null ++++ b/libs/property_tree/module.cmake +@@ -0,0 +1 @@ ++boost_module(property_tree DEPENDS smart_ptr) +\ No newline at end of file +diff --git a/libs/proto/CMakeLists.txt b/libs/proto/CMakeLists.txt +new file mode 100644 +index 0000000..36d5060 +--- /dev/null ++++ b/libs/proto/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ proto ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ proto ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ # DESCRIPTION "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users." ++ MODULARIZED ++ # AUTHORS "John Maddock " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/proto/module.cmake b/libs/proto/module.cmake +new file mode 100644 +index 0000000..2061b60 +--- /dev/null ++++ b/libs/proto/module.cmake +@@ -0,0 +1,2 @@ ++boost_module(proto DEPENDS fusion typeof) ++ +diff --git a/libs/proto/test/CMakeLists.txt b/libs/proto/test/CMakeLists.txt +new file mode 100644 +index 0000000..c219435 +--- /dev/null ++++ b/libs/proto/test/CMakeLists.txt +@@ -0,0 +1,58 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(proto BOOST_DEPENDS test) ++ ++################################################################################ ++#--- Compiler specific settings ++ ++# GCC ++IF(CMAKE_COMPILER_IS_GNUCC) ++ SET(test_compile_flags "-ftemplate-depth-1024") ++ENDIF(CMAKE_COMPILER_IS_GNUCC) ++ ++# Microsoft Visual Studio ++IF (MSVC71) ++ #TODO// Turn off debug symbols? ++ENDIF(MSVC71) ++IF (MSVC80) ++ SET(test_compile_flags "-D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE") ++ENDIF(MSVC80) ++IF (MSVC90) ++ SET(test_compile_flags "-D_SCL_SECURE_NO_DEPRECATE") ++ENDIF (MSVC90) ++ ++# Intel ++IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ #TODO// Turn off debug symbols? ++ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ ++set (tests ++ calculator ++ deep_copy ++ examples ++ lambda ++ make_expr ++ matches ++ proto_fusion ++ proto_fusion_s ++ toy_spirit ++ toy_spirit2 ++ noinvoke ++) ++ ++ ++ ++ ++#-- Create an executable test for each source ++foreach(test ${tests}) ++ boost_test_run(${test} "${test}.cpp" ++ COMPILE_FLAGS ${test_compile_flags} ++ DEPENDS boost_unit_test_framework) ++endforeach(test ${tests}) ++ ++ ++ +diff --git a/libs/ptr_container/CMakeLists.txt b/libs/ptr_container/CMakeLists.txt +new file mode 100644 +index 0000000..ecf0077 +--- /dev/null ++++ b/libs/ptr_container/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ ptr_container ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ ptr_container ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Containers for storing heap-allocated polymorphic objects to ease OO-programming." ++ MODULARIZED ++ AUTHORS "Thorsten Ottosen " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/ptr_container/module.cmake b/libs/ptr_container/module.cmake +new file mode 100644 +index 0000000..407a75b +--- /dev/null ++++ b/libs/ptr_container/module.cmake +@@ -0,0 +1 @@ ++boost_module(ptr_container DEPENDS circular_buffer range) +\ No newline at end of file +diff --git a/libs/ptr_container/test/CMakeLists.txt b/libs/ptr_container/test/CMakeLists.txt +new file mode 100644 +index 0000000..91456a6 +--- /dev/null ++++ b/libs/ptr_container/test/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(ptr_container BOOST_DEPENDS test assign numeric) ++ ++boost_test_run(ptr_inserter DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_vector DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_list DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_deque DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_set DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_map DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_map_adapter DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_array DEPENDS boost_unit_test_framework) ++boost_test_run(tree_test DEPENDS boost_unit_test_framework) ++boost_test_run(incomplete_type_test DEPENDS boost_unit_test_framework) ++boost_test_run(view_example) ++boost_test_run(iterator_test DEPENDS boost_unit_test_framework) ++boost_test_run(tut1) ++boost_test_run(indirect_fun DEPENDS boost_unit_test_framework) ++boost_test_run(serialization DEPENDS boost_unit_test_framework boost_serialization) ++boost_test_run(no_exceptions DEPENDS boost_unit_test_framework) ++ ++boost_test_run(ptr_unordered_set DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_unordered_map DEPENDS boost_unit_test_framework) ++boost_test_run(ptr_circular_buffer DEPENDS boost_unit_test_framework) +diff --git a/libs/python/CMakeLists.txt b/libs/python/CMakeLists.txt +new file mode 100644 +index 0000000..b313d4c +--- /dev/null ++++ b/libs/python/CMakeLists.txt +@@ -0,0 +1,21 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (PYTHON_FOUND) ++ include_directories(${PYTHON_INCLUDE_PATH}) ++ ++ boost_library_project( ++ Python ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS python.hpp python ++ MODULARIZED ++ DESCRIPTION "A framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler." ++ AUTHORS "David Abrahams " ++ ) ++else () ++ colormsg(RED "+-- disabled since PYTHON_FOUND is false") ++endif () +diff --git a/libs/python/module.cmake b/libs/python/module.cmake +new file mode 100644 +index 0000000..5bfa0c7 +--- /dev/null ++++ b/libs/python/module.cmake +@@ -0,0 +1,3 @@ ++boost_module(python DEPENDS graph numeric) ++ ++# numeric is there because of boost/cast.hpp from libs/python/src/errors.cpp:11 +\ No newline at end of file +diff --git a/libs/python/src/CMakeLists.txt b/libs/python/src/CMakeLists.txt +new file mode 100644 +index 0000000..e4326a4 +--- /dev/null ++++ b/libs/python/src/CMakeLists.txt +@@ -0,0 +1,70 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (PYTHON_DEBUG_LIBRARIES AND BUILD_BOOST_PYTHON) ++ # We have detected that there might be Python debug libraries ++ # available, but check for ourselves whether this is true by trying ++ # to compile/link a program against them. ++ set(CMAKE_REQUIRED_DEFINITIONS "-DBOOST_DEBUG_PYTHON -DPy_DEBUG") ++ get_directory_property(CMAKE_REQUIRED_INCLUDES INCLUDE_DIRECTORIES) ++ set(CMAKE_REQUIRED_LIBRARIES ${PYTHON_DEBUG_LIBRARIES}) ++ set(CHECK_PYDEBUG_SOURCE ++ "#include ") ++ check_cxx_source_compiles( ++ "#include ++ void check(PyObject *obj) { Py_INCREF(obj); } int main() { }" ++ PYDEBUG_CAN_BUILD) ++ ++ # Setup an option to enable/disable building variants with Python ++ # debugging. If we were able to link against the debug libraries, ++ # default to ON; otherwise, default to OFF. ++ option(BUILD_PYTHON_DEBUG ++ "Build an additional Boost.Python library with Python debugging enabled" ++ ${PYDEBUG_CAN_BUILD}) ++endif (PYTHON_DEBUG_LIBRARIES AND BUILD_BOOST_PYTHON) ++ ++# Always build the non-debug variants of the boost_python library ++set(BUILD_PYTHON_NODEBUG ON) ++ ++boost_add_library(python ++ numeric.cpp ++ list.cpp ++ long.cpp ++ dict.cpp ++ tuple.cpp ++ str.cpp ++ slice.cpp ++ converter/from_python.cpp ++ converter/registry.cpp ++ converter/type_id.cpp ++ object/enum.cpp ++ object/class.cpp ++ object/function.cpp ++ object/inheritance.cpp ++ object/life_support.cpp ++ object/pickle_support.cpp ++ errors.cpp ++ module.cpp ++ converter/builtin_converters.cpp ++ converter/arg_to_python_base.cpp ++ object/iterator.cpp ++ object/stl_iterator.cpp ++ object_protocol.cpp ++ object_operators.cpp ++ wrapper.cpp ++ import.cpp ++ exec.cpp ++ object/function_doc_signature.cpp ++ ++ STATIC_COMPILE_FLAGS "-DBOOST_PYTHON_SOURCE -DBOOST_PYTHON_STATIC_LIB" ++ SHARED_COMPILE_FLAGS "-DBOOST_PYTHON_SOURCE" ++ PYTHON_NODEBUG_LINK_LIBS "${PYTHON_LIBRARIES}" ++ ++ # Support for Python debugging ++ EXTRA_VARIANTS PYTHON_NODEBUG:PYTHON_DEBUG ++ PYTHON_DEBUG_COMPILE_FLAGS "-DBOOST_DEBUG_PYTHON -DPy_DEBUG" ++ PYTHON_DEBUG_LINK_LIBS "${PYTHON_DEBUG_LIBRARIES}" ++ ) +diff --git a/libs/python/test/CMakeLists.txt b/libs/python/test/CMakeLists.txt +new file mode 100644 +index 0000000..1a27e71 +--- /dev/null ++++ b/libs/python/test/CMakeLists.txt +@@ -0,0 +1,246 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++include_directories(${PYTHON_INCLUDE_PATH}) ++ ++macro(bpl_test TESTNAME) ++ parse_arguments(BPL_TEST ++ "ARGS" ++ "" ++ ${ARGN}) ++ ++ # Determine the Python and C++ source files for this test ++ if (BPL_TEST_DEFAULT_ARGS) ++ # First argument is the Python source we will run, the rest are ++ # either extra Python sources we're dependent on or C++ files from ++ # which we will build extension modules. ++ car(BPL_TEST_PYSOURCE ${BPL_TEST_DEFAULT_ARGS}) ++ cdr(BPL_TEST_DEFAULT_ARGS ${BPL_TEST_DEFAULT_ARGS}) ++ ++ get_filename_component(BPL_TEST_PYBASE ${BPL_TEST_PYSOURCE} NAME_WE) ++ ++ # Process all the .cpp file and extension module names ++ foreach(SRC ${BPL_TEST_DEFAULT_ARGS}) ++ get_filename_component(BPL_SRC_EXT ${SRC} EXT) ++ if (BPL_SRC_EXT STREQUAL ".cpp") ++ ++ # Build a Python extension module from this source file ++ get_filename_component(BPL_SRC_NAME ${SRC} NAME_WE) ++ ++ if(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}_ext) ++ else(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ set(BPL_EXTENSION_MODULE ${BPL_SRC_NAME}) ++ endif(BPL_TEST_PYBASE STREQUAL "${BPL_SRC_NAME}") ++ ++ boost_python_extension(${BPL_EXTENSION_MODULE} ${SRC}) ++ ++ else (BPL_SRC_EXT STREQUAL ".cpp") ++ set(BPL_EXTENSION_MODULE ${SRC}) ++ ++ endif (BPL_SRC_EXT STREQUAL ".cpp") ++ ++ endforeach(SRC ${BPL_TEST_DEFAULT_ARGS}) ++ ++ else (BPL_TEST_DEFAULT_ARGS) ++ ++ set(BPL_TEST_PYSOURCE "${TESTNAME}.py") ++ ++ # Build a Python extension module from this source file ++ boost_python_extension(${TESTNAME}_ext "${TESTNAME}.cpp") ++ ++ endif(BPL_TEST_DEFAULT_ARGS) ++ ++ # We'll need the full patch to run the Python test ++ set(BPL_TEST_PYSOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${BPL_TEST_PYSOURCE}) ++ ++ # Run the test itself ++ ++ if(WIN32) ++ ++ get_target_property(THIS_TEST_LOCATION ${TESTNAME}_ext-mt-shared ++ LOCATION) ++ get_filename_component(THIS_TEST_LOCATION ${THIS_TEST_LOCATION} PATH) ++ ++ string(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}" ++ THIS_TEST_LOCATION "${THIS_TEST_LOCATION}") ++ ++ set(PYTHONPATH ${THIS_TEST_LOCATION}) ++ else() ++ file(TO_NATIVE_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" PYTHONPATH) ++ endif() ++ ++ if(WIN32 AND NOT UNIX) ++ string(REPLACE "\\" "\\\\" PYTHONPATH "${PYTHONPATH}") ++ endif(WIN32 AND NOT UNIX) ++ set(FULL_TESTNAME ${PROJECT_NAME}-${TESTNAME}) ++ add_test(${FULL_TESTNAME} ++ ${VALGRIND_EXECUTABLE} ++ ${VALGRIND_FLAGS} ++ ${PYTHON_EXECUTABLE} ++ "${CMAKE_CURRENT_SOURCE_DIR}/pyrun.py" ++ "${PYTHONPATH}" ++ ${BPL_TEST_PYSOURCE} ${BPL_TEST_ARGS}) ++ ++ set_tests_properties(${FULL_TESTNAME} ++ PROPERTIES ++ LABELS "${PROJECT_NAME}" ++ ) ++endmacro(bpl_test) ++ ++macro(py_run TESTNAME) ++ boost_test_run(${TESTNAME} ++ ${TESTNAME}.cpp ++ DEPENDS boost_python STATIC ++ LINK_LIBS ${PYTHON_LIBRARIES}) ++endmacro(py_run) ++ ++boost_test_run(exec ++ DEPENDS boost_python STATIC ++ ARGS "${CMAKE_CURRENT_SOURCE_DIR}/exec.py" ++ LINK_LIBS ${PYTHON_LIBRARIES}) ++boost_test_run(exec-dynamic ++ exec.cpp ++ ARGS "${CMAKE_CURRENT_SOURCE_DIR}/exec.py" ++ DEPENDS boost_python SHARED ++ LINK_LIBS ${PYTHON_LIBRARIES}) ++ ++bpl_test(crossmod_exception ++ crossmod_exception.py crossmod_exception_a.cpp crossmod_exception_b.cpp) ++ ++bpl_test(injected) ++bpl_test(properties) ++bpl_test(return_arg) ++bpl_test(staticmethod) ++bpl_test(shared_ptr) ++bpl_test(andreas_beyer) ++bpl_test(polymorphism) ++bpl_test(polymorphism2) ++ ++bpl_test(wrapper_held_type) ++bpl_test(polymorphism2_auto_ptr) ++ ++bpl_test(auto_ptr) ++ ++bpl_test(minimal) ++bpl_test(args) ++bpl_test(raw_ctor) ++bpl_test(numpy numpy.py printer.py numeric_tests.py numarray_tests.py numpy.cpp) ++bpl_test(enum) ++bpl_test(exception_translator) ++bpl_test(pearu1 test_cltree.py cltree.cpp) ++bpl_test(try newtest.py m1.cpp m2.cpp) ++bpl_test(const_argument) ++bpl_test(keywords keywords_test.py keywords.cpp) ++ ++boost_python_extension(builtin_converters_ext test_builtin_converters.cpp) ++bpl_test(builtin_converters test_builtin_converters.py builtin_converters_ext) ++ ++# ++# See the contents of this file for more details on an existing ++# overload resoluton bug. ++# ++# boost_python_extension(overload_resolution test_overload_resolution.cpp) ++# ++ ++bpl_test(test_pointer_adoption) ++bpl_test(operators) ++bpl_test(callbacks) ++bpl_test(defaults) ++ ++bpl_test(object) ++bpl_test(list) ++bpl_test(long) ++bpl_test(dict) ++bpl_test(str) ++bpl_test(slice) ++ ++bpl_test(virtual_functions) ++bpl_test(back_reference) ++bpl_test(implicit) ++bpl_test(data_members) ++ ++bpl_test(ben_scott1) ++ ++bpl_test(bienstman1) ++bpl_test(bienstman2) ++bpl_test(bienstman3) ++ ++bpl_test(multi_arg_constructor) ++# TODO: A bug in the Win32 intel compilers causes compilation of one ++# of our tests to take forever when debug symbols are ++# enabled. This rule turns them off when added to the requirements ++# section ++# intel-win:off ++ ++bpl_test(iterator iterator.py iterator.cpp input_iterator.cpp) ++ ++bpl_test(stl_iterator stl_iterator.py stl_iterator.cpp) ++ ++bpl_test(extract) ++ ++bpl_test (crossmod_opaque ++ crossmod_opaque.py crossmod_opaque_a.cpp crossmod_opaque_b.cpp) ++ ++bpl_test(opaque) ++bpl_test(voidptr) ++ ++bpl_test(pickle1) ++bpl_test(pickle2) ++bpl_test(pickle3) ++bpl_test(pickle4) ++ ++bpl_test(nested) ++ ++bpl_test(docstring) ++ ++bpl_test(vector_indexing_suite) ++ ++bpl_test(pointer_vector) ++# TODO: Turn off this test on HP CXX, as the test hangs when executing. ++# Whenever the cause for the failure of the polymorphism test is found ++# and fixed, this should be retested. ++# hp_cxx:no ++ ++boost_python_extension(map_indexing_suite_ext ++ map_indexing_suite.cpp int_map_indexing_suite.cpp a_map_indexing_suite.cpp) ++ ++bpl_test(map_indexing_suite ++ map_indexing_suite.py map_indexing_suite_ext) ++ ++ ++# --- unit tests of library components --- ++ ++boost_test_compile(indirect_traits_test) ++boost_test_run(destroy_test) ++py_run(pointer_type_id_test) ++py_run(bases) ++boost_test_run(if_else) ++py_run(pointee) ++boost_test_run(result) ++ ++boost_test_compile(string_literal) ++boost_test_compile(borrowed) ++boost_test_compile(object_manager) ++boost_test_compile(copy_ctor_mutates_rhs) ++ ++py_run(upcast) ++ ++boost_test_compile(select_holder) ++ ++boost_test_run(select_from_python_test ++ select_from_python_test.cpp ../src/converter/type_id.cpp ++ COMPILE_FLAGS "-DBOOST_PYTHON_STATIC_LIB" ++ LINK_LIBS ${PYTHON_LIBRARIES}) ++ ++boost_test_compile(select_arg_to_python_test) ++ ++boost_test_compile_fail(raw_pyobject_fail1) ++boost_test_compile_fail(raw_pyobject_fail2) ++boost_test_compile_fail(as_to_python_function) ++boost_test_compile_fail(object_fail1) ++ ++bpl_test(tuple) +diff --git a/libs/random/CMakeLists.txt b/libs/random/CMakeLists.txt +new file mode 100644 +index 0000000..1d9e48d +--- /dev/null ++++ b/libs/random/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ random.hpp ++ random ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ random ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A complete system for random number generation." ++ MODULARIZED ++ AUTHORS "Jens Maurer " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/random/module.cmake b/libs/random/module.cmake +new file mode 100644 +index 0000000..0aad03b +--- /dev/null ++++ b/libs/random/module.cmake +@@ -0,0 +1,3 @@ ++boost_module(random DEPENDS detail integer type_traits static_assert) ++ ++ +diff --git a/libs/random/src/CMakeLists.txt b/libs/random/src/CMakeLists.txt +new file mode 100644 +index 0000000..08f889e +--- /dev/null ++++ b/libs/random/src/CMakeLists.txt +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++add_definitions(-DBOOST_DATE_TIME_NO_LIB=1) ++boost_add_library( ++ random ++ random_device.cpp ++ STATIC_COMPILE_FLAGS -DBOOST_DATE_TIME_STATIC_LINK ++ SHARED_COMPILE_FLAGS -DBOOST_ALL_DYN_LINK=1 ++ ) +diff --git a/libs/random/test/CMakeLists.txt b/libs/random/test/CMakeLists.txt +new file mode 100644 +index 0000000..07ae245 +--- /dev/null ++++ b/libs/random/test/CMakeLists.txt +@@ -0,0 +1,34 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(random BOOST_DEPENDS test) ++ ++foreach(test ++ rand48 ++ minstd_rand0 ++ minstd_rand ++ ecuyer1988 ++ kreutzer1986 ++ hellekalek1995 ++ mt11213b ++ mt19937 ++ lagged_fibonacci ++ lagged_fibonacci607 ++ ranlux3 ++ ranlux4 ++ ranlux3_01 ++ ranlux4_01 ++ ranlux64_3_01 ++ ranlux64_4_01 ++ taus88) ++ boost_test_run(test_${test} ++ ../instantiate.cpp ++ COMPILE_FLAGS -DBOOST_RANDOM_URNG_TEST=${test} ++ ) ++endforeach() ++ ++boost_test_run(random_test ../random_test.cpp) ++boost_test_run(random_demo ../random_demo.cpp) +diff --git a/libs/range/CMakeLists.txt b/libs/range/CMakeLists.txt +new file mode 100644 +index 0000000..44214cf +--- /dev/null ++++ b/libs/range/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ range.hpp ++ range ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ range ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ DOCDIRS doc ++ DESCRIPTION "A new infrastructure for generic algorithms that builds on top of the new iterator concepts." ++ MODULARIZED ++ AUTHORS "Thorsten Ottosen " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/range/doc/CMakeLists.txt b/libs/range/doc/CMakeLists.txt +new file mode 100644 +index 0000000..2a15cc3 +--- /dev/null ++++ b/libs/range/doc/CMakeLists.txt +@@ -0,0 +1,7 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_documentation(boost_range.qbk) +\ No newline at end of file +diff --git a/libs/range/module.cmake b/libs/range/module.cmake +new file mode 100644 +index 0000000..49c9bc9 +--- /dev/null ++++ b/libs/range/module.cmake +@@ -0,0 +1 @@ ++boost_module(range DEPENDS algorithm) +\ No newline at end of file +diff --git a/libs/range/test/CMakeLists.txt b/libs/range/test/CMakeLists.txt +new file mode 100644 +index 0000000..0907adc +--- /dev/null ++++ b/libs/range/test/CMakeLists.txt +@@ -0,0 +1,25 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(range BOOST_DEPENDS test) ++ ++message(STATUS "libs/range/test: need -Wall -Wunused here when under gcc") ++set( test_compile_flags "") ++IF(CMAKE_COMPILER_IS_GNUCC) ++ SET(test_compile_flags "-Wall -Wunused") ++ENDIF(CMAKE_COMPILER_IS_GNUCC) ++ ++boost_test_run(array DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(iterator_pair DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(std_container DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(string DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(iterator_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(sub_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(partial_workaround DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(algorithm_example DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(reversible_range DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(const_ranges DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) ++boost_test_run(extension_mechanism DEPENDS boost_unit_test_framework COMPILE_FLAGS ${test_compile_flags}) +diff --git a/libs/rational/CMakeLists.txt b/libs/rational/CMakeLists.txt +new file mode 100644 +index 0000000..53c440d +--- /dev/null ++++ b/libs/rational/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ rational.hpp ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ rational ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/rational/module.cmake b/libs/rational/module.cmake +new file mode 100644 +index 0000000..94a8c9f +--- /dev/null ++++ b/libs/rational/module.cmake +@@ -0,0 +1 @@ ++boost_module (rational DEPENDS config math static_assert utility) +\ No newline at end of file +diff --git a/libs/rational/test/CMakeLists.txt b/libs/rational/test/CMakeLists.txt +new file mode 100644 +index 0000000..2e0850f +--- /dev/null ++++ b/libs/rational/test/CMakeLists.txt +@@ -0,0 +1,14 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(gil BOOST_DEPENDS test) ++ ++ ++boost_test_run(rational_example rational_example.cpp) ++boost_test_run(rational_test ++ rational_test.cpp ++ DEPENDS boost_unit_test_framework ++ ) +diff --git a/libs/regex/CMakeLists.txt b/libs/regex/CMakeLists.txt +new file mode 100644 +index 0000000..481417e +--- /dev/null ++++ b/libs/regex/CMakeLists.txt +@@ -0,0 +1,51 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ regex.h ++ regex.hpp ++ regex_fwd.hpp ++ regex ++ cregex.hpp ++) ++ ++# TODO: Default to multi-threaded? ++# ++# Used in test/ and examples/ ++# ++macro(regex_test TESTNAME) ++ parse_arguments(REGEX_TEST "" "" ${ARGN}) ++ ++ if (REGEX_TEST_DEFAULT_ARGS) ++ set(REGEX_TEST_SOURCES ${REGEX_TEST_DEFAULT_ARGS}) ++ else (REGEX_TEST_DEFAULT_ARGS) ++ set(REGEX_TEST_SOURCES "${TESTNAME}.cpp") ++ endif (REGEX_TEST_DEFAULT_ARGS) ++ ++ boost_test_run(${TESTNAME} ${REGEX_TEST_SOURCES} ++ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1" ++ DEPENDS boost_regex ++ EXTRA_OPTIONS SHARED) ++endmacro(regex_test) ++ ++# Add a library target to the build system ++boost_library_project( ++ regex ++ SRCDIRS src ++ TESTDIRS test ++ EXAMPLEDIRS example ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A regular expression library" ++ MODULARIZED ++ AUTHORS "John Maddock " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/regex/example/CMakeLists.txt b/libs/regex/example/CMakeLists.txt +new file mode 100644 +index 0000000..5c3d442 +--- /dev/null ++++ b/libs/regex/example/CMakeLists.txt +@@ -0,0 +1,76 @@ ++# # copyright John Maddock 2003 ++# # Distributed under the Boost Software License, Version 1.0. ++# # (See accompanying file LICENSE_1_0.txt or copy at ++# # http://www.boost.org/LICENSE_1_0.txt. ++# ++# project ++# : requirements ++# multi ++# shared:BOOST_REGEX_DYN_LINK=1 ++# # There are unidentified linker problems on these platforms: ++# mipspro-7.4:static ++# sun-5.9:static ++# ; ++# ++# ++# rule regex-test-run ( sources + : input * : name * ) ++# { ++# return [ ++# run ++# # sources ++# $(sources) ++# # dependencies ++# ../build//boost_regex ++# : # additional args ++# $(input) ++# : # test-files ++# : # requirements ++# msvc-7.1:TEST_MFC=1 msvc-7.0:TEST_MFC=1 ++# : # test name ++# $(name) ++# ] ; ++# } ++# ++# test-suite regex-examples : ++ ++ ++ ++regex_test(regex_timer timer/regex_timer.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/example/timer/input_script.txt ) ++#regex_test(regex-test-run grep/grep.cpp ../../program_options/build//boost_program_options/static -n -b ${CMAKE_SOURCE_DIR}/boost/regex.hpp ${CMAKE_SOURCE_DIR}/boost/type_traits.hpp : test_grep ) ++regex_test(credit_card_example snippets/credit_card_example.cpp DEPENDS boost_regex) ++regex_test(mfc_example snippets/mfc_example.cpp ) ++regex_test(icu_example snippets/icu_example.cpp ) ++regex_test(partial_regex_grep snippets/partial_regex_grep.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/index.htm ) ++regex_test(partial_regex_iterate snippets/partial_regex_iterate.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/index.htm ) ++regex_test(partial_regex_match snippets/partial_regex_match.cpp ARGS 1234-5678-8765-4 ) ++regex_test(regex_grep_example_1 snippets/regex_grep_example_1.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_grep_example_2 snippets/regex_grep_example_2.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_grep_example_3 snippets/regex_grep_example_3.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_grep_example_4 snippets/regex_grep_example_4.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_match_example snippets/regex_match_example.cpp ARGS -auto ) ++regex_test(regex_merge_example snippets/regex_merge_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_replace_example snippets/regex_replace_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_search_example snippets/regex_search_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++regex_test(regex_split_example_1 snippets/regex_split_example_1.cpp ARGS -auto ) ++regex_test(regex_split_example_2 snippets/regex_split_example_2.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/doc/html/index.html ) ++regex_test(regex_token_iterator_eg_1 snippets/regex_token_iterator_eg_1.cpp ARGS -auto ) ++regex_test(regex_token_iterator_eg_2 snippets/regex_token_iterator_eg_2.cpp ARGS ${CMAKE_SOURCE_DIR}/libs/regex/doc/html/index.html ) ++regex_test(regex_iterator_example snippets/regex_iterator_example.cpp ARGS ${CMAKE_SOURCE_DIR}/boost/rational.hpp ) ++ ++#boost_test_run(run snippets/captures_example.cpp ++# ../test/captures//boost_regex_extra ++# : : : multi BOOST_REGEX_MATCH_EXTRA=1 ] ++ ++#; ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/libs/regex/module.cmake b/libs/regex/module.cmake +new file mode 100644 +index 0000000..3c9c0ae +--- /dev/null ++++ b/libs/regex/module.cmake +@@ -0,0 +1 @@ ++boost_module(regex DEPENDS date_time thread) +\ No newline at end of file +diff --git a/libs/regex/src/CMakeLists.txt b/libs/regex/src/CMakeLists.txt +new file mode 100644 +index 0000000..12bf067 +--- /dev/null ++++ b/libs/regex/src/CMakeLists.txt +@@ -0,0 +1,51 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++set(BOOST_REGEX_ICU_LIBRARIES) ++ ++if (ICU_FOUND AND ICU_I18N_FOUND) ++ ++ add_definitions(-DBOOST_HAS_ICU=1) ++ include_directories(${ICU_INCLUDE_DIRS}) ++ set(BOOST_REGEX_ICU_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}) ++ colormsg(GREEN "+-- ICU (unicode) available, enabling support.") ++ set(NO_STATIC_IF_ICU_FOUND "NO_STATIC") ++ ++else() ++ ++ colormsg(CYAN "+-- ICU (unicode) not available, disabling support.") ++ ++endif() ++ ++boost_add_library(regex ++ ++ c_regex_traits.cpp ++ cpp_regex_traits.cpp ++ cregex.cpp ++ fileiter.cpp ++ icu.cpp ++ instances.cpp ++ posix_api.cpp ++ regex.cpp ++ regex_debug.cpp ++ regex_raw_buffer.cpp ++ regex_traits_defaults.cpp ++ static_mutex.cpp ++ w32_regex_traits.cpp ++ wc_regex_traits.cpp ++ wide_posix_api.cpp ++ winstances.cpp ++ usinstances.cpp ++ ++ LINK_LIBS ${BOOST_REGEX_ICU_LIBRARIES} ++ SHARED_COMPILE_FLAGS -DBOOST_REGEX_DYN_LINK=1 ++ ${NO_STATIC_IF_ICU_FOUND} ++ ) ++ ++ ++ ++ +diff --git a/libs/regex/test/CMakeLists.txt b/libs/regex/test/CMakeLists.txt +new file mode 100644 +index 0000000..5c55149 +--- /dev/null ++++ b/libs/regex/test/CMakeLists.txt +@@ -0,0 +1,93 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(regex BOOST_DEPENDS test) ++ ++set(R_SOURCES ++ regress/basic_tests.cpp ++ regress/main.cpp ++ regress/test_alt.cpp ++ regress/test_anchors.cpp ++ regress/test_asserts.cpp ++ regress/test_backrefs.cpp ++ regress/test_deprecated.cpp ++ regress/test_emacs.cpp ++ regress/test_escapes.cpp ++ regress/test_grep.cpp ++ regress/test_locale.cpp ++ regress/test_mfc.cpp ++ regress/test_non_greedy_repeats.cpp ++ regress/test_perl_ex.cpp ++ regress/test_replace.cpp ++ regress/test_sets.cpp ++ regress/test_simple_repeats.cpp ++ regress/test_tricky_cases.cpp ++ regress/test_icu.cpp ++ regress/test_unicode.cpp ++ regress/test_overloads.cpp ++ regress/test_operators.cpp ++ ) ++ ++if (NOT ICU_FOUND) ++ # static tests eliminiated if ICU is found ++ boost_test_run(regex_regress ${R_SOURCES} ++ DEPENDS boost_regex STATIC) ++endif() ++ ++boost_test_run(regex_regress_dll ${R_SOURCES} ++ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1" ++ DEPENDS boost_regex ++ EXTRA_OPTIONS SHARED) ++ ++boost_test_run(regex_regress_threaded ${R_SOURCES} ++ COMPILE_FLAGS "-DTEST_THREADS -DBOOST_REGEX_DYN_LINK=1" ++ DEPENDS boost_regex boost_thread ++ EXTRA_OPTIONS SHARED MULTI_THREADED) ++ ++regex_test(posix_api_check c_compiler_checks/posix_api_check.c) ++boost_test_compile(wide_posix_api_check_c c_compiler_checks/wide_posix_api_check.c) ++regex_test(posix_api_check_cpp c_compiler_checks/wide_posix_api_check.cpp) ++regex_test(bad_expression_test pathology/bad_expression_test.cpp) ++regex_test(recursion_test pathology/recursion_test.cpp) ++regex_test(unicode_iterator_test unicode/unicode_iterator_test.cpp) ++ ++boost_test_run(static_mutex_test static_mutex/static_mutex_test.cpp ++ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1" ++ DEPENDS boost_regex boost_thread ++ EXTRA_OPTIONS MULTI_THREADED SHARED) ++ ++regex_test(object_cache_test object_cache/object_cache_test.cpp) ++ ++if(NOT ICU_FOUND) ++ boost_test_run(regex_config_info config_info/regex_config_info.cpp ++ DEPENDS boost_regex ++ EXTRA_OPTIONS STATIC) ++endif() ++ ++boost_test_run(regex_dll_config_info config_info/regex_config_info.cpp ++ COMPILE_FLAGS "-DBOOST_REGEX_DYN_LINK=1" ++ DEPENDS boost_regex ++ EXTRA_OPTIONS SHARED) ++ ++regex_test(test_collate_info collate_info/collate_info.cpp) ++ ++boost_test_compile(concept_check concepts/concept_check.cpp) ++boost_test_compile(ice_concept_check concepts/icu_concept_check.cpp) ++ ++# TODO: Deal with this ++ # [ run ++ # sources ++# captures/captures_test.cpp ++ # captures//boost_regex_extra ++ #: # additional args ++ #: # test-files ++ #: # requirements ++ # multi ++ # BOOST_REGEX_MATCH_EXTRA=1 ++ # BOOST_REGEX_NO_LIB=1 ++# : # test name ++ # captures_test ++# ] +diff --git a/libs/serialization/CMakeLists.txt b/libs/serialization/CMakeLists.txt +new file mode 100644 +index 0000000..938c5f4 +--- /dev/null ++++ b/libs/serialization/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ serialization ++ archive ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ serialization ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Serialization for persistence and marshalling." ++ MODULARIZED ++ AUTHORS "" ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/serialization/module.cmake b/libs/serialization/module.cmake +new file mode 100644 +index 0000000..d640eb1 +--- /dev/null ++++ b/libs/serialization/module.cmake +@@ -0,0 +1,3 @@ ++boost_module(serialization DEPENDS spirit io bind array variant) ++ ++# bind is in there because we have a dependency on boost/mem_fn.hpp +diff --git a/libs/serialization/src/CMakeLists.txt b/libs/serialization/src/CMakeLists.txt +new file mode 100644 +index 0000000..fec7fe5 +--- /dev/null ++++ b/libs/serialization/src/CMakeLists.txt +@@ -0,0 +1,56 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++boost_add_library(serialization ++ ++ basic_archive.cpp ++ basic_iarchive.cpp ++ basic_iserializer.cpp ++ basic_oarchive.cpp ++ basic_oserializer.cpp ++ basic_pointer_iserializer.cpp ++ basic_pointer_oserializer.cpp ++ basic_serializer_map.cpp ++ basic_text_iprimitive.cpp ++ basic_text_oprimitive.cpp ++ basic_xml_archive.cpp ++ binary_iarchive.cpp ++ binary_oarchive.cpp ++ extended_type_info.cpp ++ extended_type_info_typeid.cpp ++ extended_type_info_no_rtti.cpp ++ polymorphic_iarchive.cpp ++ polymorphic_oarchive.cpp ++ stl_port.cpp ++ text_iarchive.cpp ++ text_oarchive.cpp ++ void_cast.cpp ++ archive_exception.cpp ++ xml_grammar.cpp ++ xml_iarchive.cpp ++ xml_oarchive.cpp ++ xml_archive_exception.cpp ++ shared_ptr_helper.cpp ++ ++ SHARED_COMPILE_FLAGS -DBOOST_SERIALIZATION_DYN_LINK=1 ++ ) ++ ++boost_add_library(wserialization ++ ++ basic_text_wiprimitive.cpp ++ basic_text_woprimitive.cpp ++ text_wiarchive.cpp ++ text_woarchive.cpp ++ utf8_codecvt_facet.cpp ++ xml_wgrammar.cpp ++ xml_wiarchive.cpp ++ xml_woarchive.cpp ++ codecvt_null.cpp ++ ++ SHARED_COMPILE_FLAGS -DBOOST_SERIALIZATION_DYN_LINK=1 ++ DEPENDS boost_serialization ++ ) +diff --git a/libs/serialization/test/CMakeLists.txt b/libs/serialization/test/CMakeLists.txt +new file mode 100644 +index 0000000..a0dc65e +--- /dev/null ++++ b/libs/serialization/test/CMakeLists.txt +@@ -0,0 +1,184 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# The set of archives that we will use for testing the Serialization ++# library ++set(BOOST_ARCHIVE_LIST ++ "text_archive" ++ "text_warchive" ++ "binary_archive" ++ "xml_archive" ++ "xml_warchive" ++ ) ++ ++# The serialization_test macro declares a set of tests of the ++# serialization library. For each invocation of serialization_test, ++# this macro will build separate static and dynamic tests. ++macro(serialization_test testname) ++ parse_arguments(BSL_TEST "" "NO_LIBS;POLYMORPHIC" ${ARGN}) ++ ++ if(NOT BSL_TEST_DEFAULT_ARGS) ++ set(BSL_TEST_SOURCES "${testname}.cpp") ++ else(NOT BSL_TEST_DEFAULT_ARGS) ++ set(BSL_TEST_SOURCES "${BSL_TEST_DEFAULT_ARGS}") ++ endif(NOT BSL_TEST_DEFAULT_ARGS) ++ ++ if (BSL_TEST_POLYMORPHIC) ++ set(BSL_TEST_POLY "polymorphic_") ++ elseif(BSL_TEST_POLYMORPHIC) ++ set(BSL_TEST_POLY "") ++ endif(BSL_TEST_POLYMORPHIC) ++ ++ set(BSL_TEST_LIBRARIES) ++ if(NOT BSL_NO_LIBS) ++ set(BSL_TEST_LIBRARIES "boost_serialization") ++ endif(NOT BSL_NO_LIBS) ++ ++ # Tests linking against the static serialization library ++ boost_test_run("${testname}" ++ ${BSL_TEST_SOURCES} ++ STATIC ++ DEPENDS ${BSL_TEST_LIBRARIES} ++ COMPILE_FLAGS "-DBOOST_LIB_DIAGNOSTIC=1") ++ ++ # Tests linking against the shared serialization library ++ boost_test_run("${testname}_dll" ++ ${BSL_TEST_SOURCES} ++ SHARED ++ DEPENDS ${BSL_TEST_LIBRARIES} ++ COMPILE_FLAGS "-DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_ALL_DYN_LINK=1") ++endmacro(serialization_test) ++ ++# Like serialization_test, but runs the same test for all archive types. ++macro(serialization_test_allarchives testname) ++ parse_arguments(BSL_TEST "" "NO_LIBS;POLYMORPHIC" ${ARGN}) ++ ++ if(NOT BSL_TEST_DEFAULT_ARGS) ++ set(BSL_TEST_SOURCES "${testname}.cpp") ++ else(NOT BSL_TEST_DEFAULT_ARGS) ++ set(BSL_TEST_SOURCES "${BSL_TEST_DEFAULT_ARGS}") ++ endif(NOT BSL_TEST_DEFAULT_ARGS) ++ ++ if (BSL_TEST_POLYMORPHIC) ++ set(BSL_TEST_POLY "polymorphic_") ++ elseif(BSL_TEST_POLYMORPHIC) ++ set(BSL_TEST_POLY "") ++ endif(BSL_TEST_POLYMORPHIC) ++ ++ foreach(ARCHIVE ${BOOST_ARCHIVE_LIST}) ++ set(BSL_TEST_LIBRARIES) ++ if(NOT BSL_NO_LIBS) ++ set(BSL_TEST_LIBRARIES "boost_serialization") ++ if(ARCHIVE MATCHES ".*warchive") ++ set(BSL_TEST_LIBRARIES "boost_wserialization" ${BSL_TEST_LIBRARIES}) ++ endif(ARCHIVE MATCHES ".*warchive") ++ endif(NOT BSL_NO_LIBS) ++ ++ # Tests linking against the static serialization library ++ boost_test_run("${testname}_${ARCHIVE}" ++ ${BSL_TEST_SOURCES} ++ STATIC ++ DEPENDS ${BSL_TEST_LIBRARIES} ++ COMPILE_FLAGS "-DBOOST_ARCHIVE_TEST=${BSL_TEST_POLY}${ARCHIVE}.hpp -DBOOST_LIB_DIAGNOSTIC=1") ++ ++ # Tests linking against the shared serialization library ++ boost_test_run("${testname}_${ARCHIVE}_dll" ++ ${BSL_TEST_SOURCES} ++ SHARED ++ DEPENDS ${BSL_TEST_LIBRARIES} ++ COMPILE_FLAGS "-DBOOST_ARCHIVE_TEST=${BSL_TEST_POLY}${ARCHIVE}.hpp -DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_ALL_DYN_LINK=1") ++ endforeach(ARCHIVE ${BOOST_ARCHIVE_LIST}) ++endmacro(serialization_test_allarchives) ++ ++boost_additional_test_dependencies(serialization BOOST_DEPENDS test) ++ ++ ++serialization_test_allarchives(test_array test_array.cpp A.cpp) ++serialization_test_allarchives(test_binary) ++serialization_test_allarchives(test_complex) ++serialization_test_allarchives(test_contained_class test_contained_class.cpp A.cpp) ++serialization_test_allarchives(test_cyclic_ptrs test_cyclic_ptrs.cpp A.cpp) ++serialization_test_allarchives(test_delete_pointer) ++serialization_test_allarchives(test_deque test_deque.cpp A.cpp) ++# serialization_test_allarchives(test_derived) ++serialization_test_allarchives(test_derived_class test_derived_class.cpp A.cpp) ++serialization_test_allarchives(test_derived_class_ptr test_derived_class_ptr.cpp A.cpp) ++serialization_test_allarchives(test_diamond) ++serialization_test_allarchives(test_exported test_exported.cpp polymorphic_base.cpp) ++serialization_test_allarchives(test_class_info_save) ++serialization_test_allarchives(test_class_info_load) ++serialization_test_allarchives(test_object) ++serialization_test_allarchives(test_primitive) ++serialization_test_allarchives(test_list test_list.cpp A.cpp) ++serialization_test_allarchives(test_list_ptrs test_list_ptrs.cpp A.cpp) ++serialization_test_allarchives(test_map test_map.cpp A.cpp) ++serialization_test_allarchives(test_mi) ++serialization_test_allarchives(test_multiple_ptrs test_multiple_ptrs.cpp A.cpp) ++serialization_test_allarchives(test_no_rtti test_no_rtti.cpp ++ polymorphic_base.cpp polymorphic_derived1.cpp polymorphic_derived2.cpp) ++serialization_test_allarchives(test_non_intrusive) ++serialization_test_allarchives(test_non_default_ctor) ++serialization_test_allarchives(test_non_default_ctor2) ++serialization_test_allarchives(test_null_ptr) ++serialization_test_allarchives(test_nvp test_nvp.cpp A.cpp) ++serialization_test_allarchives(test_recursion test_recursion.cpp A.cpp) ++serialization_test_allarchives(test_registered) ++serialization_test_allarchives(test_set test_set.cpp A.cpp) ++serialization_test_allarchives(test_simple_class test_simple_class.cpp A.cpp) ++serialization_test_allarchives(test_simple_class_ptr test_simple_class_ptr.cpp A.cpp) ++serialization_test_allarchives(test_split) ++serialization_test_allarchives(test_tracking) ++serialization_test_allarchives(test_unregistered) ++serialization_test_allarchives(test_valarray) ++serialization_test_allarchives(test_variant test_variant.cpp A.cpp) ++serialization_test_allarchives(test_vector test_vector.cpp A.cpp) ++serialization_test_allarchives(test_optional) ++serialization_test_allarchives(test_shared_ptr) ++serialization_test_allarchives(test_shared_ptr_132) ++serialization_test_allarchives(test_polymorphic POLYMORPHIC ++ test_polymorphic.cpp test_polymorphic_A.cpp A.cpp) ++ ++serialization_test(test_private_ctor) ++serialization_test(test_reset_object_address test_reset_object_address.cpp A.cpp) ++serialization_test(test_void_cast) ++serialization_test(test_mult_archive_types) ++ ++serialization_test(test_iterators NO_LIBS) ++serialization_test(test_iterators_base64 NO_LIBS) ++serialization_test(test_inclusion NO_LIBS) ++serialization_test(test_smart_cast NO_LIBS) ++ ++serialization_test(test_utf8_codecvt ++ test_utf8_codecvt.cpp ../src/utf8_codecvt_facet.cpp NO_LIBS) ++ ++serialization_test(test_serialization_iterators test_iterators.cpp NO_LIBS) ++serialization_test(test_static_warning NO_LIBS) ++serialization_test(test_codecvt_null ++ test_codecvt_null.cpp ../src/codecvt_null.cpp NO_LIBS) ++ ++# should fail compilation ++boost_test_compile_fail(test_not_serializable) ++boost_test_compile_fail(test_traits_fail) ++boost_test_compile_fail(test_const_load_fail1) ++boost_test_compile_fail(test_const_load_fail2) ++boost_test_compile_fail(test_const_load_fail3) ++boost_test_compile_fail(test_const_load_fail1_nvp) ++boost_test_compile_fail(test_const_load_fail2_nvp) ++boost_test_compile_fail(test_const_load_fail3_nvp) ++ ++boost_test_compile(test_static_warning) ++boost_test_compile(test_const_save_warn1) ++boost_test_compile(test_const_save_warn2) ++boost_test_compile(test_const_save_warn3) ++ ++# note - library unable to detect there errors for now ++#boost_test_compile_fail(test_const_save_fail1_nvp) ++#boost_test_compile_fail(test_const_save_fail2_nvp) ++#boost_test_compile_fail(test_const_save_fail3_nvp) ++ ++# should compile ++boost_test_compile(test_traits_pass) ++boost_test_compile(test_const_pass) +diff --git a/libs/signals/CMakeLists.txt b/libs/signals/CMakeLists.txt +new file mode 100644 +index 0000000..b8cb463 +--- /dev/null ++++ b/libs/signals/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ signals.hpp ++ signal.hpp ++ signals ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ signals ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Managed signals & slots callback implementation." ++ MODULARIZED ++ AUTHORS "Douglas Gregor " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/signals/module.cmake b/libs/signals/module.cmake +new file mode 100644 +index 0000000..0c18da8 +--- /dev/null ++++ b/libs/signals/module.cmake +@@ -0,0 +1,3 @@ ++boost_module(signals DEPENDS smart_ptr any intrusive bind) ++ ++# bind is here due to a dependency on /boost/mem_fn.hpp +diff --git a/libs/signals/src/CMakeLists.txt b/libs/signals/src/CMakeLists.txt +new file mode 100644 +index 0000000..d4d4769 +--- /dev/null ++++ b/libs/signals/src/CMakeLists.txt +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++add_definitions(-DBOOST_SIGNALS_NO_LIB=1) ++ ++boost_add_library( ++ signals ++ trackable.cpp connection.cpp named_slot_map.cpp signal_base.cpp slot.cpp ++ SHARED_COMPILE_FLAGS "-DBOOST_SIGNALS_DYN_LINK=1" ++ ) +diff --git a/libs/signals/test/CMakeLists.txt b/libs/signals/test/CMakeLists.txt +new file mode 100644 +index 0000000..91c513b +--- /dev/null ++++ b/libs/signals/test/CMakeLists.txt +@@ -0,0 +1,15 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(signals BOOST_DEPENDS test optional) ++ ++ ++boost_test_run(dead_slot_test DEPENDS boost_signals) ++boost_test_run(deletion_test DEPENDS boost_signals) ++boost_test_run(ordering_test DEPENDS boost_signals) ++boost_test_run(signal_n_test DEPENDS boost_signals) ++boost_test_run(signal_test DEPENDS boost_signals) ++boost_test_run(trackable_test DEPENDS boost_signals) +diff --git a/libs/signals2/CMakeLists.txt b/libs/signals2/CMakeLists.txt +new file mode 100644 +index 0000000..1e7910d +--- /dev/null ++++ b/libs/signals2/CMakeLists.txt +@@ -0,0 +1,19 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++# Add a library target to the build system ++boost_library_project( ++ signals2 ++ TESTDIRS test ++ HEADERS signals2.hpp signals2 ++ # DOCDIRS ++ DESCRIPTION "The Boost.Signals2 library is an implementation of a managed signals and slots system. Signals represent callbacks with multiple targets, and are also called publishers or events in similar systems. Signals are connected to some set of slots, which are callback receivers (also called event targets or subscribers), which are called when the signal is \"emitted.\"" ++ MODULARIZED ++ AUTHORS "Frank Mori Hess " ++) ++ ++ +diff --git a/libs/signals2/module.cmake b/libs/signals2/module.cmake +new file mode 100644 +index 0000000..7b720d8 +--- /dev/null ++++ b/libs/signals2/module.cmake +@@ -0,0 +1 @@ ++boost_module(signals2 DEPENDS thread) +\ No newline at end of file +diff --git a/libs/signals2/test/CMakeLists.txt b/libs/signals2/test/CMakeLists.txt +new file mode 100644 +index 0000000..5e0b610 +--- /dev/null ++++ b/libs/signals2/test/CMakeLists.txt +@@ -0,0 +1,26 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++foreach(test ++ connection_test ++ dead_slot_test ++ deconstruct_test ++ deletion_test ++ ordering_test ++ regression_test ++ shared_connection_block_test ++ signal_n_test ++ signal_test ++ signal_type_test ++ slot_compile_test ++ trackable_test ++ track_test ++ ) ++ boost_test_run(${test} DEPENDS boost_test_exec_monitor) ++endforeach() ++ ++boost_test_run(mutex_test DEPENDS boost_thread) ++boost_test_run(threading_models_test DEPENDS boost_thread) +diff --git a/libs/smart_ptr/CMakeLists.txt b/libs/smart_ptr/CMakeLists.txt +new file mode 100644 +index 0000000..1c039fc +--- /dev/null ++++ b/libs/smart_ptr/CMakeLists.txt +@@ -0,0 +1,36 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ enable_shared_from_this.hpp ++ pointer_cast.hpp ++ scoped_array.hpp ++ scoped_ptr.hpp ++ shared_array.hpp ++ shared_ptr.hpp ++ weak_ptr.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ smart_ptr ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Five smart pointer class templates." ++ MODULARIZED ++ AUTHORS "Greg Colvin" ++ "Beman Dawes " ++ "Peter Dimov " ++ "Darin Adler" ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/smart_ptr/module.cmake b/libs/smart_ptr/module.cmake +new file mode 100644 +index 0000000..d83266c +--- /dev/null ++++ b/libs/smart_ptr/module.cmake +@@ -0,0 +1 @@ ++boost_module(smart_ptr DEPENDS utility) +\ No newline at end of file +diff --git a/libs/smart_ptr/test/CMakeLists.txt b/libs/smart_ptr/test/CMakeLists.txt +new file mode 100644 +index 0000000..b89394e +--- /dev/null ++++ b/libs/smart_ptr/test/CMakeLists.txt +@@ -0,0 +1,56 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(tokenizer BOOST_DEPENDS test intrusive) ++ ++ ++boost_test_run(smart_ptr_test) ++boost_test_run(shared_ptr_basic_test) ++boost_test_run(shared_ptr_test) ++boost_test_run(weak_ptr_test) ++boost_test_run(shared_from_this_test) ++boost_test_run(get_deleter_test) ++boost_test_run(intrusive_ptr_test) ++boost_test_run(atomic_count_test) ++boost_test_run(lw_mutex_test) ++boost_test_compile_fail(shared_ptr_assign_fail) ++boost_test_compile_fail(shared_ptr_delete_fail) ++boost_test_compile_fail(shared_ptr_compare_fail) ++boost_test_run(shared_ptr_alloc2_test) ++boost_test_run(pointer_cast_test) ++boost_test_compile(pointer_to_other_test) ++boost_test_run(auto_ptr_rv_test) ++boost_test_run(shared_ptr_alias_test) ++boost_test_run(shared_ptr_rv_test) ++boost_test_run(shared_ptr_move_test) ++boost_test_compile_fail(shared_ptr_pv_fail) ++boost_test_run(sp_unary_addr_test) ++boost_test_compile_fail(scoped_ptr_eq_fail) ++boost_test_compile_fail(scoped_array_eq_fail) ++boost_test_run(esft_regtest) ++boost_test_run(yield_k_test) ++message(STATUS "!!!> yield_k_test multhreaded") ++boost_test_run(spinlock_test) ++boost_test_run(spinlock_try_test) ++message(STATUS "!!!> spinlock_try_test multithreaded") ++boost_test_run(spinlock_pool_test) ++boost_test_run(make_shared_test) ++boost_test_run(sp_convertible_test) ++boost_test_run(wp_convertible_test) ++boost_test_run(ip_convertible_test) ++boost_test_run(allocate_shared_test) ++boost_test_run(sp_atomic_test) ++boost_test_run(esft_void_test) ++boost_test_run(esft_second_ptr_test) ++boost_test_run(make_shared_esft_test) ++boost_test_run(allocate_shared_esft_test) ++boost_test_run(sp_recursive_assign_test) ++boost_test_run(sp_recursive_assign2_test) ++boost_test_run(sp_recursive_assign_rv_test) ++boost_test_run(sp_recursive_assign2_rv_test) ++boost_test_compile_fail(auto_ptr_lv_fail) ++boost_test_run(atomic_count_test2) ++ +diff --git a/libs/spirit/CMakeLists.txt b/libs/spirit/CMakeLists.txt +new file mode 100644 +index 0000000..d70794c +--- /dev/null ++++ b/libs/spirit/CMakeLists.txt +@@ -0,0 +1,46 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ spirit.hpp ++ spirit ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ spirit ++ # SRCDIRS ++ TESTDIRS test ++ EXAMPLEDIRS ++ example/qi/calc6 ++ example/qi/calc7 ++ example/qi ++ example/qi/mini_c ++ example/lex/static_lexer ++ example/lex ++ example/karma ++ example/support ++ # example/scheme/test/qi ++ example/scheme/test/utree ++ example/scheme/test/scheme ++ example/scheme/example/sexpr ++ # example/scheme/example/generate_qiexpr ++ example/scheme/example/scheme ++ # example/scheme/example/parse_qiexpr ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "LL parser framework represents parsers directly as EBNF grammars in inlined C++." ++ MODULARIZED ++ AUTHORS "Joel de Guzman " ++ "Hartmut Kaiser " ++ "Dan Nuffer" ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/spirit/example/karma/CMakeLists.txt b/libs/spirit/example/karma/CMakeLists.txt +new file mode 100644 +index 0000000..eefcf36 +--- /dev/null ++++ b/libs/spirit/example/karma/CMakeLists.txt +@@ -0,0 +1,37 @@ ++foreach( ++ example ++ complex_number ++ # complex_number_adapt ++ # calc2_ast_dump ++ generate_code ++ quick_start1 ++ customize_use_as_container ++ # printf_style_double_format ++ num_list1 ++ num_list2 ++ num_list3 ++ classify_char ++ customize_counter ++ # calc2_ast_vm ++ # simple_columns_directive ++ escaped_string ++ reorder_struct ++ actions ++ complex_number_easier ++ # auto_facilities ++ num_matrix ++ customize_embedded_container ++ # reference ++ mini_xml_karma ++ key_value_sequence ++ quoted_strings ++ # calc2_ast_rpn ++ # basic_facilities ++) ++boost_add_executable( ++ ${example} ++ TARGET_PREFIX ++ "karma-" ++) ++endforeach( ++) +diff --git a/libs/spirit/example/lex/CMakeLists.txt b/libs/spirit/example/lex/CMakeLists.txt +new file mode 100644 +index 0000000..4219473 +--- /dev/null ++++ b/libs/spirit/example/lex/CMakeLists.txt +@@ -0,0 +1,25 @@ ++foreach( ++ example ++ word_count_functor_flex ++ #word_count ++ #word_count_lexer ++ #strip_comments ++ #strip_comments_lexer ++ #example1 ++ #example2 ++ #example3 ++ #example4 ++ #example5 ++ #example6 ++ reference ++ #custom_token_attribute ++ #print_numbers ++ #word_count_functor ++) ++boost_add_executable( ++ ${example} ++ TARGET_PREFIX ++ "lex-" ++) ++endforeach( ++) +diff --git a/libs/spirit/example/lex/static_lexer/CMakeLists.txt b/libs/spirit/example/lex/static_lexer/CMakeLists.txt +new file mode 100644 +index 0000000..2d6903c +--- /dev/null ++++ b/libs/spirit/example/lex/static_lexer/CMakeLists.txt +@@ -0,0 +1,12 @@ ++foreach( ++ example ++ word_count_lexer_generate ++ word_count_generate ++ word_count_lexer_static ++ word_count_static ++) ++boost_add_executable( ++ ${example} ++) ++endforeach( ++) +diff --git a/libs/spirit/example/qi/CMakeLists.txt b/libs/spirit/example/qi/CMakeLists.txt +new file mode 100644 +index 0000000..ccb61c5 +--- /dev/null ++++ b/libs/spirit/example/qi/CMakeLists.txt +@@ -0,0 +1,43 @@ ++foreach( ++ example ++ employee ++ complex_number ++ mini_xml1 ++ mini_xml2 ++ mini_xml3 ++ porting_guide_qi ++ key_value_sequence_empty_value ++ parse_date ++ # adapt_template_struct ++ num_list1 ++ num_list2 ++ num_list3 ++ num_list4 ++ calc2_ast ++ iter_pos_parser ++ display_attribute_type ++ reorder_struct ++ key_value_sequence_ordered ++ sum ++ actions ++ calc1 ++ calc2 ++ calc3 ++ calc4 ++ calc5 ++ calc4_debug ++ # reference ++ # boost_array ++ roman ++ nabialek ++ typeof ++ key_value_sequence ++ porting_guide_classic ++) ++boost_add_executable( ++ ${example} ++ TARGET_PREFIX ++ "qi-" ++) ++endforeach( ++) +diff --git a/libs/spirit/example/qi/calc6/CMakeLists.txt b/libs/spirit/example/qi/calc6/CMakeLists.txt +new file mode 100644 +index 0000000..d1bd010 +--- /dev/null ++++ b/libs/spirit/example/qi/calc6/CMakeLists.txt +@@ -0,0 +1,7 @@ ++boost_add_executable( ++ calc6 ++ calc6.cpp ++ calc6a.cpp ++ calc6b.cpp ++ calc6c.cpp ++) +diff --git a/libs/spirit/example/qi/calc7/CMakeLists.txt b/libs/spirit/example/qi/calc7/CMakeLists.txt +new file mode 100644 +index 0000000..f967fe4 +--- /dev/null ++++ b/libs/spirit/example/qi/calc7/CMakeLists.txt +@@ -0,0 +1,7 @@ ++boost_add_executable( ++ calc7 ++ calc7.cpp ++ calc7a.cpp ++ calc7b.cpp ++ calc7c.cpp ++) +diff --git a/libs/spirit/example/qi/mini_c/CMakeLists.txt b/libs/spirit/example/qi/mini_c/CMakeLists.txt +new file mode 100644 +index 0000000..8ddb7d6 +--- /dev/null ++++ b/libs/spirit/example/qi/mini_c/CMakeLists.txt +@@ -0,0 +1,8 @@ ++boost_add_executable( ++ mini_c ++ mini_c.cpp ++ mini_ca.cpp ++ mini_cb.cpp ++ mini_cc.cpp ++ mini_cd.cpp ++) +diff --git a/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt b/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt +new file mode 100644 +index 0000000..1008458 +--- /dev/null ++++ b/libs/spirit/example/scheme/example/generate_qiexpr/CMakeLists.txt +@@ -0,0 +1,7 @@ ++boost_add_executable( ++ generate_qi_test ++ generate_qi_test.cpp ++ generate_qiexpr.cpp ++ COMPILE_FLAGS ++ "-I../.." ++) +diff --git a/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt b/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt +new file mode 100644 +index 0000000..5f361e8 +--- /dev/null ++++ b/libs/spirit/example/scheme/example/parse_qiexpr/CMakeLists.txt +@@ -0,0 +1,8 @@ ++boost_add_executable( ++ parse_qi_test ++ parse_qi_test.cpp ++ generate_sexpr_to_ostream.cpp ++ parse_qiexpr.cpp ++ COMPILE_FLAGS ++ "-I../.." ++) +diff --git a/libs/spirit/example/scheme/example/scheme/CMakeLists.txt b/libs/spirit/example/scheme/example/scheme/CMakeLists.txt +new file mode 100644 +index 0000000..ca7c00e +--- /dev/null ++++ b/libs/spirit/example/scheme/example/scheme/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ try_scheme ++ factorial1 ++ factorial2 ++) ++boost_add_executable( ++ ${example} ++ COMPILE_FLAGS ++ "-I../.." ++) ++endforeach( ++) +diff --git a/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt b/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt +new file mode 100644 +index 0000000..f8f0aeb +--- /dev/null ++++ b/libs/spirit/example/scheme/example/sexpr/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ # sexpr_output_test ++ sexpr_input_test ++ sexpr_error_test ++) ++boost_add_executable( ++ ${example} ++ COMPILE_FLAGS ++ "-I../.." ++) ++endforeach( ++) +diff --git a/libs/spirit/example/scheme/test/qi/CMakeLists.txt b/libs/spirit/example/scheme/test/qi/CMakeLists.txt +new file mode 100644 +index 0000000..376b5a6 +--- /dev/null ++++ b/libs/spirit/example/scheme/test/qi/CMakeLists.txt +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ qi_interpreter ++) ++boost_add_executable( ++ ${example} ++ COMPILE_FLAGS ++ "-I../.." ++) ++endforeach( ++) +diff --git a/libs/spirit/example/scheme/test/scheme/CMakeLists.txt b/libs/spirit/example/scheme/test/scheme/CMakeLists.txt +new file mode 100644 +index 0000000..5063398 +--- /dev/null ++++ b/libs/spirit/example/scheme/test/scheme/CMakeLists.txt +@@ -0,0 +1,13 @@ ++foreach( ++ example ++ scheme_test1 ++ scheme_test2 ++ scheme_test3 ++) ++boost_add_executable( ++ ${example} ++ COMPILE_FLAGS ++ "-I../.." ++) ++endforeach( ++) +diff --git a/libs/spirit/example/scheme/test/utree/CMakeLists.txt b/libs/spirit/example/scheme/test/utree/CMakeLists.txt +new file mode 100644 +index 0000000..9b058dd +--- /dev/null ++++ b/libs/spirit/example/scheme/test/utree/CMakeLists.txt +@@ -0,0 +1,11 @@ ++foreach( ++ example ++ utree_test ++) ++boost_add_executable( ++ ${example} ++ COMPILE_FLAGS ++ "-I../.." ++) ++endforeach( ++) +diff --git a/libs/spirit/example/support/CMakeLists.txt b/libs/spirit/example/support/CMakeLists.txt +new file mode 100644 +index 0000000..725363f +--- /dev/null ++++ b/libs/spirit/example/support/CMakeLists.txt +@@ -0,0 +1,9 @@ ++foreach( ++ example ++ multi_pass ++) ++boost_add_executable( ++ ${example} ++) ++endforeach( ++) +diff --git a/libs/spirit/module.cmake b/libs/spirit/module.cmake +new file mode 100644 +index 0000000..895f666 +--- /dev/null ++++ b/libs/spirit/module.cmake +@@ -0,0 +1 @@ ++boost_module(spirit DEPENDS xpressive optional foreach array unordered pool) +\ No newline at end of file +diff --git a/libs/spirit/test/CMakeLists.txt b/libs/spirit/test/CMakeLists.txt +new file mode 100644 +index 0000000..46265c9 +--- /dev/null ++++ b/libs/spirit/test/CMakeLists.txt +@@ -0,0 +1,121 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(spirit ++ BOOST_DEPENDS ++ test variant function_types intrusive ++ lambda assign iostreams math random dynamic_bitset fusion ++ ) ++ ++set( test_compile_flags "") ++ ++if(CMAKE_COMPILER_IS_GNUCC) ++ set(test_compile_flags "-ftemplate-depth-300") ++endif() ++ ++ ++boost_test_run(qi_actions qi/actions.cpp COMPILE_FLAGS ${test_compile_flags} BOOST_LIB spirit COMPILE_FLAGS ${test_compile_flags} ) ++ ++foreach(qi_run_test ++ char ++ char_class ++ lit ++ int ++ uint ++ real ++ eps ++ lazy ++ tst ++ symbols ++ range_run ++ no_case ++ lexeme ++ raw ++ sequence ++ alternative ++ sequential_or ++ permutation ++ difference ++ list ++ optional ++ kleene ++ plus ++ and_predicate ++ not_predicate ++ expect ++ rule ++ grammar ++ match_manip ++ binary ++ debug ++ end) ++ boost_test_run(qi_${qi_run_test} qi/${qi_run_test}.cpp COMPILE_FLAGS ${test_compile_flags}) ++endforeach() ++ ++foreach(qi_compile_fail_test ++ qi_grammar_fail ++ qi_rule_fail) ++ boost_test_compile_fail(${qi_compile_fail_test} qi/${qi_compiler_fail_test}.cpp ++ COMPILE_FLAGS ${test_compile_flags}) ++endforeach() ++ ++foreach(karma_run_test ++ actions ++ alternative ++ binary ++ case_handling ++ center_alignment ++ char ++ delimiter ++ eol ++ eps ++ format_manip ++ grammar ++ int_numerics ++ kleene ++ lazy ++ left_alignment ++ list ++ lit ++ optional ++ pattern ++ real_numerics ++ right_alignment ++ sequence) ++ boost_test_run(karma_${karma_run_test} karma/${karma_run_test}.cpp COMPILE_FLAGS ${test_compile_flags}) ++endforeach() ++ ++foreach(karma_compile_fail_test ++ karma_grammar_fail ++ karma_rule_fail) ++ boost_test_compile_fail(${karma_compile_fail_test} ++ karma/${karma_compile_fail_test}.cpp ++ COMPILE_FLAGS ${test_compile_flags}) ++endforeach() ++ ++# boost_test_run(support_hold_any support/hold_any.cpp COMPILE_FLAGS ${test_compile_flags}) ++ ++# the multi_pass tests are not completed yet ++# [ run support/multi_pass_compile.cpp COMPILE_FLAGS ${test_compile_flags} : : : : ] ++# [ run support/multi_pass.cpp COMPILE_FLAGS ${test_compile_flags} : : : : ] ++ ++if(CMAKE_COMPILER_IS_INTEL) ++ list(APPEND test_compile_flags "-no-vec") ++endif() ++ ++foreach(lex_run_test ++ lexertl1 ++ lexertl2 ++ lexertl3 ++ lexertl4 ++ lexertl5 ++ state_switcher_test) ++ boost_test_run(lex_${lex_run_test} lex/${lex_run_test}.cpp ++ COMPILE_FLAGS ${test_compile_flags}) ++endforeach() ++ ++ ++ +diff --git a/libs/statechart/CMakeLists.txt b/libs/statechart/CMakeLists.txt +new file mode 100644 +index 0000000..7f97e3b +--- /dev/null ++++ b/libs/statechart/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ statechart ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ statechart ++ # SRCDIRS ++ TESTDIRS test example ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code." ++ MODULARIZED ++ AUTHORS "Andreas Huber " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/statechart/example/CMakeLists.txt b/libs/statechart/example/CMakeLists.txt +new file mode 100644 +index 0000000..2a6281e +--- /dev/null ++++ b/libs/statechart/example/CMakeLists.txt +@@ -0,0 +1,31 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++macro(statechart_example TESTNAME) ++ set(SOURCES) ++ foreach(ARG ${ARGN}) ++ set(SOURCES ${SOURCES} "${TESTNAME}/${ARG}.cpp") ++ endforeach(ARG ${ARGN}) ++ ++ if (NOT SOURCES) ++ set(SOURCES "${TESTNAME}/${TESTNAME}.cpp") ++ endif () ++ ++ boost_test_link("${TESTNAME}Example" ++ ${SOURCES} ++ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS" ++ ) ++endmacro(statechart_example) ++ ++statechart_example(BitMachine) ++#statechart_example(Camera ++# : Camera : Camera Configuring Main Shooting) ++#statechart_example(Handcrafted : Handcrafted : Handcrafted) ++#statechart_example(Keyboard : Keyboard : Keyboard :) ++#statechart_example(Performance : Performance : Performance) ++#statechart_example(PingPong : PingPong : PingPong) ++#statechart_example(StopWatch : StopWatch : StopWatch) ++#statechart_example(StopWatch2 : StopWatch : StopWatch2) ; +diff --git a/libs/statechart/module.cmake b/libs/statechart/module.cmake +new file mode 100644 +index 0000000..9462b13 +--- /dev/null ++++ b/libs/statechart/module.cmake +@@ -0,0 +1 @@ ++boost_module (statechart DEPENDS type_traits mpl static_assert intrusive smart_ptr bind function numeric) +diff --git a/libs/statechart/test/CMakeLists.txt b/libs/statechart/test/CMakeLists.txt +new file mode 100644 +index 0000000..a661a74 +--- /dev/null ++++ b/libs/statechart/test/CMakeLists.txt +@@ -0,0 +1,93 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(statechart BOOST_DEPENDS test numeric) ++ ++ ++ ++macro(statechart_compile_fail TESTNAME) ++ boost_test_compile_fail("${TESTNAME}Normal" ++ ${TESTNAME}.cpp ++ ) ++ boost_test_compile_fail("${TESTNAME}Native" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_STATECHART_USE_NATIVE_RTTI" ++ ) ++ boost_test_compile_fail("${TESTNAME}Relaxed" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT" ++ ) ++ boost_test_compile_fail("${TESTNAME}Both" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_STATECHART_USE_NATIVE_RTTI -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT" ++ ) ++endmacro(statechart_compile_fail) ++ ++macro(statechart_run TESTNAME) ++ boost_test_run("${TESTNAME}Normal" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS" ++ DEPENDS boost_test_exec_monitor ++ ) ++ boost_test_run("${TESTNAME}Native" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_USE_NATIVE_RTTI" ++ DEPENDS boost_test_exec_monitor ++ ) ++ boost_test_run("${TESTNAME}Relaxed" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT" ++ DEPENDS boost_test_exec_monitor ++ ) ++ boost_test_run("${TESTNAME}Both" ++ ${TESTNAME}.cpp ++ COMPILE_FLAGS "-DBOOST_DISABLE_THREADS -DBOOST_STATECHART_USE_NATIVE_RTTI -DBOOST_STATECHART_RELAX_TRANSITION_CONTEXT" ++ DEPENDS boost_test_exec_monitor ++ ) ++endmacro(statechart_run) ++ ++ ++statechart_compile_fail(InvalidChartTest1) ++statechart_compile_fail(InvalidChartTest2) ++statechart_compile_fail(InvalidChartTest3) ++statechart_run(TransitionTest) ++statechart_compile_fail(InvalidTransitionTest1) ++statechart_compile_fail(InvalidTransitionTest2) ++statechart_run(InStateReactionTest) ++statechart_run(TerminationTest) ++statechart_run(DeferralTest) ++statechart_run(CustomReactionTest) ++statechart_compile_fail(InvalidResultAssignTest) ++statechart_compile_fail(InvalidResultDefCtorTest) ++statechart_run(InvalidResultCopyTest) ++statechart_run(UnconsumedResultTest) ++statechart_run(HistoryTest) ++statechart_compile_fail(InconsistentHistoryTest1) ++statechart_compile_fail(InconsistentHistoryTest2) ++statechart_compile_fail(InconsistentHistoryTest3) ++statechart_compile_fail(InconsistentHistoryTest4) ++statechart_compile_fail(InconsistentHistoryTest5) ++statechart_compile_fail(InconsistentHistoryTest6) ++statechart_compile_fail(InconsistentHistoryTest7) ++statechart_compile_fail(InconsistentHistoryTest8) ++statechart_compile_fail(UnsuppDeepHistoryTest) ++statechart_run(StateCastTest) ++statechart_run(TypeInfoTest) ++statechart_run(StateIterationTest) ++statechart_run(FifoSchedulerTest) ++ ++message(STATUS "Statechart Testing needs intermediate libraries created") ++# TODO: We need to create some libraries (just for testing!?), then link ++# and run tests against them. Ick. ++#statechart-st-lib-run LibTestNormal ++# : TuTestMain : TuTest : static $(normal)) ++#statechart-st-lib-run LibTestNative ++# : TuTestMain : TuTest : static $(native)) ++#statechart-st-lib-run DllTestNormal ++# : TuTestMain : TuTest : shared $(normal)) ++#statechart-st-lib-run DllTestNative ++# : TuTestMain : TuTest : shared $(native)) ++ +diff --git a/libs/static_assert/CMakeLists.txt b/libs/static_assert/CMakeLists.txt +new file mode 100644 +index 0000000..dbc799c +--- /dev/null ++++ b/libs/static_assert/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ static_assert.hpp ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ static_assert ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/static_assert/module.cmake b/libs/static_assert/module.cmake +new file mode 100644 +index 0000000..e68fe53 +--- /dev/null ++++ b/libs/static_assert/module.cmake +@@ -0,0 +1 @@ ++boost_module(static_assert DEPENDS config detail) +\ No newline at end of file +diff --git a/libs/static_assert/test/CMakeLists.txt b/libs/static_assert/test/CMakeLists.txt +new file mode 100644 +index 0000000..a9afaf2 +--- /dev/null ++++ b/libs/static_assert/test/CMakeLists.txt +@@ -0,0 +1,19 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_test_run(static_assert_test ../static_assert_test.cpp) ++boost_test_run(static_assert_example_2 ../static_assert_example_2.cpp) ++boost_test_run(static_assert_example_3 ../static_assert_example_3.cpp) ++boost_test_compile_fail(static_assert_test_fail_1 ../static_assert_test_fail_1.cpp) ++boost_test_compile_fail(static_assert_test_fail_2 ../static_assert_test_fail_2.cpp) ++boost_test_compile_fail(static_assert_test_fail_3 ../static_assert_test_fail_3.cpp) ++boost_test_compile_fail(static_assert_test_fail_4 ../static_assert_test_fail_4.cpp) ++boost_test_compile_fail(static_assert_test_fail_5 ../static_assert_test_fail_5.cpp) ++boost_test_compile_fail(static_assert_test_fail_6 ../static_assert_test_fail_6.cpp) ++boost_test_compile_fail(static_assert_test_fail_7 ../static_assert_test_fail_7.cpp) ++boost_test_compile_fail(static_assert_test_fail_8 ../static_assert_test_fail_8.cpp) ++boost_test_compile_fail(static_assert_test_fail_9 ../static_assert_test_fail_9.cpp) ++boost_test_compile_fail(static_assert_test_fail_10 ../static_assert_test_fail_10.cpp) +diff --git a/libs/system/CMakeLists.txt b/libs/system/CMakeLists.txt +new file mode 100644 +index 0000000..b4f92f3 +--- /dev/null ++++ b/libs/system/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ system ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ system ++ SRCDIRS src ++ # TESTDIRS ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/system/module.cmake b/libs/system/module.cmake +new file mode 100644 +index 0000000..9a50a96 +--- /dev/null ++++ b/libs/system/module.cmake +@@ -0,0 +1 @@ ++boost_module(system DEPENDS utility) +\ No newline at end of file +diff --git a/libs/system/src/CMakeLists.txt b/libs/system/src/CMakeLists.txt +new file mode 100644 +index 0000000..66f7c9f +--- /dev/null ++++ b/libs/system/src/CMakeLists.txt +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library( ++ system ++ error_code.cpp ++ SHARED_COMPILE_FLAGS "-DBOOST_SYSTEM_DYN_LINK=1" ++ STATIC_COMPILE_FLAGS "-DBOOST_SYSTEM_STATIC_LINK=1" ++ ) ++ +diff --git a/libs/test/CMakeLists.txt b/libs/test/CMakeLists.txt +new file mode 100644 +index 0000000..556dbbc +--- /dev/null ++++ b/libs/test/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ test ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ test ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Support for simple program testing, full unit testing, and for program execution monitoring." ++ MODULARIZED ++ AUTHORS "Gennadiy Rozental " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/test/module.cmake b/libs/test/module.cmake +new file mode 100644 +index 0000000..39ee26e +--- /dev/null ++++ b/libs/test/module.cmake +@@ -0,0 +1,5 @@ ++# ++# module.cmake for test ++# ++boost_module(test DEPENDS smart_ptr timer io bind numeric) ++ +diff --git a/libs/test/src/CMakeLists.txt b/libs/test/src/CMakeLists.txt +new file mode 100644 +index 0000000..45ec7c6 +--- /dev/null ++++ b/libs/test/src/CMakeLists.txt +@@ -0,0 +1,70 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# Test library configuration ++# add_definitions(-DBOOST_TEST_NO_AUTO_LINK=1) ++ ++# Compiler-specific configuration ++set(BOOST_SHARED_COMPILE_FLAGS "") ++if(MSVC) ++ add_definitions(/EHac) ++ set(BOOST_SHARED_COMPILE_FLAGS "${BOOST_SHARED_COMPILE_FLAGS} -wd4275") ++endif(MSVC) ++ ++if (BORLAND) ++ add_definitions(-w-8080) ++endif(BORLAND) ++ ++boost_add_library(prg_exec_monitor ++ execution_monitor.cpp ++ debug.cpp ++ cpp_main.cpp ++ SHARED_COMPILE_FLAGS -DBOOST_TEST_DYN_LINK=1 ${BOOST_SHARED_COMPILE_FLAGS}) ++ ++boost_add_library(test_exec_monitor ++ compiler_log_formatter.cpp ++ debug.cpp ++ execution_monitor.cpp ++ framework.cpp ++ plain_report_formatter.cpp ++ progress_monitor.cpp ++ results_collector.cpp ++ results_reporter.cpp ++ test_main.cpp ++ test_tools.cpp ++ unit_test_log.cpp ++ unit_test_main.cpp ++ unit_test_monitor.cpp ++ unit_test_parameters.cpp ++ unit_test_suite.cpp ++ xml_log_formatter.cpp ++ xml_report_formatter.cpp ++ NO_SHARED ++ ) ++ ++boost_add_library(unit_test_framework ++ compiler_log_formatter.cpp ++ debug.cpp ++ exception_safety.cpp ++ execution_monitor.cpp ++ framework.cpp ++ interaction_based.cpp ++ logged_expectations.cpp ++ plain_report_formatter.cpp ++ progress_monitor.cpp ++ results_collector.cpp ++ results_reporter.cpp ++ test_tools.cpp ++ unit_test_log.cpp ++ unit_test_main.cpp ++ unit_test_monitor.cpp ++ unit_test_parameters.cpp ++ unit_test_suite.cpp ++ xml_log_formatter.cpp ++ xml_report_formatter.cpp ++ SHARED_COMPILE_FLAGS -DBOOST_TEST_DYN_LINK=1 ${BOOST_SHARED_COMPILE_FLAGS} ++ ) ++ +diff --git a/libs/thread/CMakeLists.txt b/libs/thread/CMakeLists.txt +new file mode 100644 +index 0000000..7b3935a +--- /dev/null ++++ b/libs/thread/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ thread.hpp ++ thread ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ thread ++ SRCDIRS src ++ TESTDIRS test ++ EXAMPLEDIRS example ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Boost.Thread" ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/thread/example/CMakeLists.txt b/libs/thread/example/CMakeLists.txt +new file mode 100644 +index 0000000..7d4b8bd +--- /dev/null ++++ b/libs/thread/example/CMakeLists.txt +@@ -0,0 +1,17 @@ ++foreach(example ++ ++ monitor ++ starvephil ++ # tennis this doesn't build on linux for some stupid reason ++ condition ++ mutex ++ once ++ recursive_mutex ++ thread ++ thread_group ++ tss ++ xtime) ++ ++ boost_add_executable(${example} DEPENDS boost_thread MULTI_THREADED) ++ ++endforeach() +\ No newline at end of file +diff --git a/libs/thread/module.cmake b/libs/thread/module.cmake +new file mode 100644 +index 0000000..32b0535 +--- /dev/null ++++ b/libs/thread/module.cmake +@@ -0,0 +1 @@ ++boost_module(thread DEPENDS date_time bind optional range) +\ No newline at end of file +diff --git a/libs/thread/src/CMakeLists.txt b/libs/thread/src/CMakeLists.txt +new file mode 100644 +index 0000000..d02c4b0 +--- /dev/null ++++ b/libs/thread/src/CMakeLists.txt +@@ -0,0 +1,20 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++if (WIN32) ++ set(THREAD_SOURCES win32/thread.cpp win32/tss_dll.cpp win32/tss_pe.cpp) ++else (WIN32) ++ set(THREAD_SOURCES pthread/thread.cpp pthread/once.cpp) ++endif (WIN32) ++ ++boost_add_library( ++ thread ++ ${THREAD_SOURCES} ++ SHARED_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_DLL=1" ++ STATIC_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB=1" ++ NO_SINGLE_THREADED ++ ) ++ +diff --git a/libs/thread/test/CMakeLists.txt b/libs/thread/test/CMakeLists.txt +new file mode 100644 +index 0000000..23f2939 +--- /dev/null ++++ b/libs/thread/test/CMakeLists.txt +@@ -0,0 +1,39 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(thread BOOST_DEPENDS test ) ++ ++ ++ ++set(TESTS ++test_thread ++test_thread_id ++test_hardware_concurrency ++test_thread_move ++test_thread_launching ++test_thread_mf ++test_move_function ++test_mutex ++test_condition_notify_one ++test_condition_timed_wait_times_out ++test_condition_notify_all ++test_condition ++test_tss ++test_once ++test_xtime ++test_barrier ++test_shared_mutex ++test_shared_mutex_part_2 ++test_shared_mutex_timed_locks ++test_lock_concept ++test_generic_locks) ++ ++foreach (TEST ${TESTS}) ++ boost_test_run(${TEST} MULTI_THREADED DEPENDS boost_thread boost_unit_test_framework) ++endforeach (TEST ${TESTS}) ++ ++boost_test_compile_fail(no_implicit_move_from_lvalue_thread) ++boost_test_compile_fail(no_implicit_assign_from_lvalue_thread) +diff --git a/libs/timer/CMakeLists.txt b/libs/timer/CMakeLists.txt +new file mode 100644 +index 0000000..02967a6 +--- /dev/null ++++ b/libs/timer/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ timer.hpp ++ ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ timer ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/timer/module.cmake b/libs/timer/module.cmake +new file mode 100644 +index 0000000..0ce8984 +--- /dev/null ++++ b/libs/timer/module.cmake +@@ -0,0 +1 @@ ++boost_module(timer DEPENDS config) +diff --git a/libs/timer/test/CMakeLists.txt b/libs/timer/test/CMakeLists.txt +new file mode 100644 +index 0000000..bfa115a +--- /dev/null ++++ b/libs/timer/test/CMakeLists.txt +@@ -0,0 +1,9 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# boost_additional_test_dependencies(timer BOOST_DEPENDS test) ++ ++boost_test_compile(timer_test ../timer_test.cpp) +diff --git a/libs/tokenizer/CMakeLists.txt b/libs/tokenizer/CMakeLists.txt +new file mode 100644 +index 0000000..b9bc1ba +--- /dev/null ++++ b/libs/tokenizer/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ tokenizer.hpp ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ tokenizer ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/tokenizer/module.cmake b/libs/tokenizer/module.cmake +new file mode 100644 +index 0000000..068d901 +--- /dev/null ++++ b/libs/tokenizer/module.cmake +@@ -0,0 +1 @@ ++boost_module(tokenizer DEPENDS utility) +\ No newline at end of file +diff --git a/libs/tokenizer/test/CMakeLists.txt b/libs/tokenizer/test/CMakeLists.txt +new file mode 100644 +index 0000000..a2743d2 +--- /dev/null ++++ b/libs/tokenizer/test/CMakeLists.txt +@@ -0,0 +1,15 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(tokenizer BOOST_DEPENDS test config detail iterator utility array intrusive) ++ ++boost_test_run(examples examples.cpp ++ DEPENDS boost_test_exec_monitor) ++boost_test_run(simple_example_1 simple_example_1.cpp) ++boost_test_run(simple_example_2 simple_example_2.cpp) ++boost_test_run(simple_example_3 simple_example_3.cpp) ++boost_test_run(simple_example_4 simple_example_4.cpp) ++boost_test_run(simple_example_5 simple_example_5.cpp) +diff --git a/libs/tr1/CMakeLists.txt b/libs/tr1/CMakeLists.txt +new file mode 100644 +index 0000000..58727a7 +--- /dev/null ++++ b/libs/tr1/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ tr1 ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ tr1 ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "An implementation of the C++ Technical Report on Standard Library Extensions. This library does not itself implement the TR1 components, rather it's a thin wrapper that will include your standard library's TR1 implementation (if it has one), otherwise it will include the Boost Library equivalents, and import them into namespace std::tr1." ++ MODULARIZED ++ AUTHORS "John Maddock " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/tr1/module.cmake b/libs/tr1/module.cmake +new file mode 100644 +index 0000000..c2aa4c2 +--- /dev/null ++++ b/libs/tr1/module.cmake +@@ -0,0 +1 @@ ++boost_module(tr1 DEPENDS fusion random math functional) +diff --git a/libs/tr1/test/CMakeLists.txt b/libs/tr1/test/CMakeLists.txt +new file mode 100644 +index 0000000..d60bdb9 +--- /dev/null ++++ b/libs/tr1/test/CMakeLists.txt +@@ -0,0 +1,75 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(tr1 BOOST_DEPENDS test) ++ ++ ++include_directories(${Boost_SOURCE_DIR}/boost/tr1/tr1) ++include_directories(${Boost_SOURCE_DIR}/libs/tr1/include/boost/tr1/tr1) ++ ++if (BORLAND) ++ # Borland's broken include mechanism needs these extra headers: ++ include_directories(${Boost_SOURCE_DIR}/boost/tr1/tr1/bcc32) ++ include_directories(${Boost_SOURCE_DIR}/libs/tr1/include/boost/tr1/tr1/bcc32) ++endif (BORLAND) ++ ++macro(boost_glob_test_compile path glob_par compile_flags) ++ list_contains(WITH_STD "WITH_STD" ${ARGN}) ++ list_contains(STD_HEADER_TEST "STD_HEADER_TEST" ${ARGN}) ++ file(GLOB file_list ${path}/${glob_par}) ++ foreach (current_file ${file_list}) ++ get_filename_component(file_name ${current_file} NAME_WE) ++ set(test_name "${file_name}") ++ if (${STD_HEADER_TEST}) ++ set(test_name "${file_name}_header") ++ endif () ++ boost_test_compile(${test_name} ${path}/${file_name}.cpp ++ COMPILE_FLAGS "${compile_flags}") ++ if (WITH_STD) ++ boost_test_compile(${file_name}_std ${path}/${file_name}.cpp ++ COMPILE_FLAGS ${compile_flags} -DTEST_STD_HEADERS=1) ++ endif (WITH_STD) ++ endforeach (current_file) ++endmacro(boost_glob_test_compile) ++ ++macro(boost_glob_test_compile_fail patch glob_par compile_flags) ++ file(GLOB file_list ${glob_par}) ++ foreach (current_file ${file_list}) ++ get_filename_component(file_name ${current_file} NAME_WE) ++ boost_test_compile_fail(${file_name} ${path}/${file_name}.cpp COMPILE_FLAGS "${compile_flags}") ++ endforeach (current_file) ++endmacro(boost_glob_test_compile_fail) ++ ++macro(boost_glob_test_run path glob_par compile_flags) ++ list_contains(WITH_STD "WITH_STD" ${ARGN}) ++ file(GLOB file_list ${path}/${glob_par}) ++ foreach (current_file ${file_list}) ++ get_filename_component(file_name ${current_file} NAME_WE) ++ boost_test_run(${file_name} ${path}/${file_name}.cpp COMPILE_FLAGS "${compile_flags}") ++ if (WITH_STD) ++ boost_test_run(${file_name}_std ${path}/${file_name}.cpp ++ COMPILE_FLAGS ${compile_flags} -DTEST_STD_HEADERS=1) ++ endif (WITH_STD) ++ endforeach (current_file) ++endmacro(boost_glob_test_run) ++ ++ ++boost_glob_test_compile(. test*.cpp "" WITH_STD) ++boost_glob_test_run(. run*.cpp "" WITH_STD) ++boost_glob_test_compile_fail(config tr1_has_tr1*fail.cpp "") ++boost_glob_test_compile(config tr1_has_tr1*pass.cpp "") ++boost_glob_test_run(type_traits *.cpp "") ++ ++# TODO: there's a problem here where the testing code is generating duplicate ++# target names. ++message(STATUS "TR1 tests need some love") ++# boost_glob_test_compile(std_headers *.cpp "-DTEST_STD=1" STD_HEADER_TEST) ++boost_glob_test_compile(cyclic_depend *.cpp "") ++ ++# Known failures ++boost_test_known_failures(test_cmath_tricky_std "gcc-4.0.[0-9]-.*") ++boost_test_known_failures(test_mem_fn_tricky_std "gcc-4.0.[0-9]-.*") ++boost_test_known_failures(test_ref_wrapper_tricky_std "gcc-4.0.[0-9]-.*") +\ No newline at end of file +diff --git a/libs/tuple/CMakeLists.txt b/libs/tuple/CMakeLists.txt +new file mode 100644 +index 0000000..a0321f4 +--- /dev/null ++++ b/libs/tuple/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ tuple ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ tuple ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Ease definition of functions returning multiple values, and more." ++ MODULARIZED ++ AUTHORS "Jaakko Jarvi " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/tuple/module.cmake b/libs/tuple/module.cmake +new file mode 100644 +index 0000000..4c52344 +--- /dev/null ++++ b/libs/tuple/module.cmake +@@ -0,0 +1,2 @@ ++boost_module(tuple DEPENDS static_assert) ++ +diff --git a/libs/tuple/test/CMakeLists.txt b/libs/tuple/test/CMakeLists.txt +new file mode 100644 +index 0000000..0896726 +--- /dev/null ++++ b/libs/tuple/test/CMakeLists.txt +@@ -0,0 +1,11 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(tuple BOOST_DEPENDS test) ++ ++ ++boost_test_run(tuple_test_bench DEPENDS boost_test_exec_monitor) ++boost_test_run(io_test DEPENDS boost_test_exec_monitor) +diff --git a/libs/type_traits/CMakeLists.txt b/libs/type_traits/CMakeLists.txt +new file mode 100644 +index 0000000..951be8e +--- /dev/null ++++ b/libs/type_traits/CMakeLists.txt +@@ -0,0 +1,40 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ type_traits.hpp ++ type_traits ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ type_traits ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Templates for fundamental properties of types." ++ MODULARIZED ++ AUTHORS "David Abrahams " ++ "Steve Cleary" ++ "Beman Dawes " ++ "Aleksey Gurtovoy " ++ "Howard Hinnant" ++ "Jesse Jones" ++ "Mat Marcus" ++ "Itay Maman" ++ "John Maddock " ++ "Alexander Nasonov " ++ "Thorsten Ottosen " ++ "Robert Ramey " ++ "Jeremy Siek " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/type_traits/module.cmake b/libs/type_traits/module.cmake +new file mode 100644 +index 0000000..c1f1b3c +--- /dev/null ++++ b/libs/type_traits/module.cmake +@@ -0,0 +1 @@ ++boost_module(type_traits DEPENDS config static_assert) +\ No newline at end of file +diff --git a/libs/type_traits/test/CMakeLists.txt b/libs/type_traits/test/CMakeLists.txt +new file mode 100644 +index 0000000..69fc8b9 +--- /dev/null ++++ b/libs/type_traits/test/CMakeLists.txt +@@ -0,0 +1,13 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++file(GLOB TEST_FILES "*_test.cpp") ++foreach(TEST_FILE ${TEST_FILES}) ++ get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE) ++ boost_test_run(${TEST_NAME}) ++endforeach(TEST_FILE ${TEST_FILES}) ++ ++boost_test_run(udt_specialisations) +diff --git a/libs/typeof/CMakeLists.txt b/libs/typeof/CMakeLists.txt +new file mode 100644 +index 0000000..a912c12 +--- /dev/null ++++ b/libs/typeof/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ typeof ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ typeof ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/typeof/module.cmake b/libs/typeof/module.cmake +new file mode 100644 +index 0000000..41dc168 +--- /dev/null ++++ b/libs/typeof/module.cmake +@@ -0,0 +1 @@ ++boost_module(typeof DEPENDS mpl config detail preprocessor) +\ No newline at end of file +diff --git a/libs/typeof/test/CMakeLists.txt b/libs/typeof/test/CMakeLists.txt +new file mode 100644 +index 0000000..417d1be +--- /dev/null ++++ b/libs/typeof/test/CMakeLists.txt +@@ -0,0 +1,30 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(typeof BOOST_DEPENDS test) ++ ++ ++file(GLOB TEST_FILES "*.cpp") ++foreach(TEST_FILE ${TEST_FILES}) ++ if (TEST_FILE MATCHES "odr.*cpp") ++ # Skip ODR tests; we'll handle them separately ++ else (TEST_FILE MATCHES "odr.*cpp") ++ get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE) ++ boost_test_compile("${TEST_NAME}_native" ++ "${TEST_NAME}.cpp" COMPILE_FLAGS "-DBOOST_TYPEOF_NATIVE") ++ boost_test_compile("${TEST_NAME}_emulation" ++ "${TEST_NAME}.cpp" COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION") ++ endif (TEST_FILE MATCHES "odr.*cpp") ++endforeach(TEST_FILE ${TEST_FILES}) ++ ++boost_test_run(odr_native ++ odr1.cpp odr2.cpp COMPILE_FLAGS "-DBOOST_TYPEOF_NATIVE") ++boost_test_run(odr_emulation ++ odr1.cpp odr2.cpp COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION") ++boost_test_run(odr_no_uns ++ odr_no_uns1.cpp odr_no_uns2.cpp ++ COMPILE_FLAGS "-DBOOST_TYPEOF_EMULATION") ++ +diff --git a/libs/units/CMakeLists.txt b/libs/units/CMakeLists.txt +new file mode 100644 +index 0000000..e28a106 +--- /dev/null ++++ b/libs/units/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ units ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ units ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Zero-overhead dimensional analysis and unit/quantity manipulation and conversion." ++ MODULARIZED ++ AUTHORS "Matthias Schabel " ++ "Steven Watanabe " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/units/doc/CMakeLists.txt b/libs/units/doc/CMakeLists.txt +new file mode 100644 +index 0000000..5591ef5 +--- /dev/null ++++ b/libs/units/doc/CMakeLists.txt +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++message(STATUS "libs/units/doc needs love") ++ +diff --git a/libs/units/module.cmake b/libs/units/module.cmake +new file mode 100644 +index 0000000..c72828e +--- /dev/null ++++ b/libs/units/module.cmake +@@ -0,0 +1,2 @@ ++boost_module(units DEPENDS math serialization lambda) ++ +diff --git a/libs/units/test/CMakeLists.txt b/libs/units/test/CMakeLists.txt +new file mode 100644 +index 0000000..7e50be3 +--- /dev/null ++++ b/libs/units/test/CMakeLists.txt +@@ -0,0 +1,70 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(typeof BOOST_DEPENDS test) ++ ++set(COMPILE_TESTS ++ test_predicates ++ test_negative_denominator ++ test_dimensionless_ice1 ++ test_dimensionless_ice2 ++ test_mixed_value_types ++ test_complicated_system ++ ) ++ ++foreach(C ${COMPILE_TESTS}) ++ boost_test_compile(${C}) ++endforeach(C ${COMPILE_TESTS}) ++ ++set(RUN_TESTS ++ test_dimensionless_quantity ++ test_implicit_conversion ++ test_quantity ++ test_unit ++ test_base_dimension ++ test_absolute ++ test_default_conversion ++ test_cmath ++ test_limits ++ test_custom_unit ++ test_scaled_conversion ++ test_lambda ++ ) ++ ++foreach(R ${RUN_TESTS}) ++ boost_test_run(${R}) ++endforeach(R ${RUN_TESTS}) ++ ++boost_test_run(test_conversion DEPENDS boost_unit_test_framework) ++boost_test_run(test_scaled_unit DEPENDS boost_unit_test_framework) ++ ++ ++set(COMPILE_FAIL_TESTS ++ fail_implicit_conversion ++ fail_quantity_construct ++ fail_quantity_assign ++ fail_quantity_add ++ fail_quantity_subtract ++ fail_quantity_add_assign ++ fail_quantity_sub_assign ++ fail_quantity_scalar_add ++ fail_quantity_scalar_sub ++ fail_quantity_unit_add ++ fail_quantity_unit_subtract ++ fail_scalar_quantity_add ++ fail_scalar_quantity_sub ++ fail_unit_quantity_add ++ fail_unit_quantity_subtract ++ fail_adl_detail ++ fail_heterogeneous_unit ++ fail_base_dimension ++ fail_add_temperature ++ fail_quantity_non_unit ++ ) ++ ++foreach(F ${COMPILE_FAIL_TESTS}) ++ boost_test_compile_fail(${F}) ++endforeach(F ${COMPILE_FAIL_TESTS}) +diff --git a/libs/unordered/CMakeLists.txt b/libs/unordered/CMakeLists.txt +new file mode 100644 +index 0000000..b7dd577 +--- /dev/null ++++ b/libs/unordered/CMakeLists.txt +@@ -0,0 +1,29 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ unordered_map.hpp ++ unordered_set.hpp ++ unordered ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ unordered ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/unordered/module.cmake b/libs/unordered/module.cmake +new file mode 100644 +index 0000000..30e2769 +--- /dev/null ++++ b/libs/unordered/module.cmake +@@ -0,0 +1 @@ ++boost_module(unordered DEPENDS config functional) +diff --git a/libs/unordered/test/CMakeLists.txt b/libs/unordered/test/CMakeLists.txt +new file mode 100644 +index 0000000..a941b96 +--- /dev/null ++++ b/libs/unordered/test/CMakeLists.txt +@@ -0,0 +1,24 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(unordered BOOST_DEPENDS test) ++ ++# GCC Compilers ++IF(CMAKE_COMPILER_IS_GNUCC) ++ SET(test_compile_flags "-Wsign-promo -Wunused-parameter") ++ENDIF(CMAKE_COMPILER_IS_GNUCC) ++ ++# Intel Compiler flags ++IF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ SET(test_compile_flags "${test_compile_flags} -strict_ansi -cxxlib-icc") ++ENDIF( ${CMAKE_CXX_COMPILER} MATCHES "icpc" ) ++ ++set (swap_compile_flags "${test_compile_flags} -DBOOST_UNORDERED_SWAP_METHOD=2") ++ ++ ++ ++add_subdirectory(exception) ++add_subdirectory(unordered) +\ No newline at end of file +diff --git a/libs/unordered/test/exception/CMakeLists.txt b/libs/unordered/test/exception/CMakeLists.txt +new file mode 100644 +index 0000000..aacdf3d +--- /dev/null ++++ b/libs/unordered/test/exception/CMakeLists.txt +@@ -0,0 +1,25 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(test ++ constructor_exception_tests ++ copy_exception_tests ++ assign_exception_tests ++ insert_exception_tests ++ erase_exception_tests ++ rehash_exception_tests ++ ) ++ boost_test_run(${test} ++ COMPILE_FLAGS ${test_compile_flags} ++ DEPENDS boost_unit_test_framework) ++endforeach(test ${unordered_tests}) ++ ++#-- run the swap test ++boost_test_run(swap_exception_tests ++ COMPILE_FLAGS ${swap_compile_flags} ++ DEPENDS boost_unit_test_framework) ++ +diff --git a/libs/unordered/test/unordered/CMakeLists.txt b/libs/unordered/test/unordered/CMakeLists.txt +new file mode 100644 +index 0000000..68d92be +--- /dev/null ++++ b/libs/unordered/test/unordered/CMakeLists.txt +@@ -0,0 +1,43 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#------------------------------------------------------------------------------- ++# Unordered Tests ++foreach(test ++ fwd_set_test ++ fwd_map_test ++ compile_set ++ compile_map ++ simple_tests ++ equivalent_keys_tests ++ constructor_tests ++ copy_tests ++ move_tests ++ assign_tests ++ insert_tests ++ insert_stable_tests ++ unnecessary_copy_tests ++ erase_tests ++ erase_equiv_tests ++ find_tests ++ at_tests ++ bucket_tests ++ load_factor_tests ++ rehash_tests ++ equality_tests ++ ) ++ boost_test_run(${test} ++ COMPILE_FLAGS ${test_compile_flags} ++ DEPENDS boost_unit_test_framework) ++endforeach() ++ ++boost_test_run(link_test link_test_1.cpp link_test_2.cpp) ++ ++#-- run the swap test ++boost_test_run(swap_tests ++ COMPILE_FLAGS ${swap_compile_flags} ++ DEPENDS boost_unit_test_framework) ++ +diff --git a/libs/utility/CMakeLists.txt b/libs/utility/CMakeLists.txt +new file mode 100644 +index 0000000..f6285c4 +--- /dev/null ++++ b/libs/utility/CMakeLists.txt +@@ -0,0 +1,37 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ assert.hpp ++ call_traits.hpp ++ checked_delete.hpp ++ compressed_pair.hpp ++ current_function.hpp ++ operators.hpp ++ throw_exception.hpp ++ utility.hpp ++ utility ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ utility ++ # SRCDIRS ++ TESTDIRS test swap/test enable_if/test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Various small utilities for C++ programming." ++ MODULARIZED ++ AUTHORS "David Abrahams " ++ "Brad King" ++ "Douglas Gregor " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/utility/enable_if/test/CMakeLists.txt b/libs/utility/enable_if/test/CMakeLists.txt +new file mode 100644 +index 0000000..be95145 +--- /dev/null ++++ b/libs/utility/enable_if/test/CMakeLists.txt +@@ -0,0 +1,20 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++foreach(T ++ constructors ++ dummy_arg_disambiguation ++ lazy ++ lazy_test ++ member_templates ++ namespace_disambiguation ++ no_disambiguation ++ partial_specializations ++ ) ++ boost_test_run(${T} DEPENDS boost_test_exec_monitor) ++endforeach() ++ ++ +diff --git a/libs/utility/module.cmake b/libs/utility/module.cmake +new file mode 100644 +index 0000000..4d78340 +--- /dev/null ++++ b/libs/utility/module.cmake +@@ -0,0 +1 @@ ++boost_module(utility DEPENDS iterator exception detail ) +\ No newline at end of file +diff --git a/libs/utility/swap/test/CMakeLists.txt b/libs/utility/swap/test/CMakeLists.txt +new file mode 100644 +index 0000000..2562313 +--- /dev/null ++++ b/libs/utility/swap/test/CMakeLists.txt +@@ -0,0 +1,41 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++foreach(T ++ root_header_1 root_header_2 ++ lib_header_1 lib_header_2 ++ mixed_headers_1 mixed_headers_2) ++ boost_test_compile(${T}) ++endforeach() ++ ++ ++# [ run primitive.cpp ../../../test/build//boost_test_exec_monitor/static ] ++ ++ ++foreach(T ++ primitive ++ specialized_in_boost ++ specialized_in_global ++ specialized_in_other ++ specialized_in_std ++ specialized_in_boost_and_other ++ std_bitset ++ std_dateorder ++ std_string ++ std_typeinfo_ptr ++ std_vector_of_boost ++ std_vector_of_global ++ std_vector_of_other ++ no_ambiguity_in_boost ++ array_of_array_of_class ++ array_of_array_of_int ++ array_of_class ++ array_of_int ++ array_of_template) ++ boost_test_run(${T} DEPENDS boost_test_exec_monitor) ++endforeach() ++ +diff --git a/libs/utility/test/CMakeLists.txt b/libs/utility/test/CMakeLists.txt +new file mode 100644 +index 0000000..4ed28b6 +--- /dev/null ++++ b/libs/utility/test/CMakeLists.txt +@@ -0,0 +1,47 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(utility BOOST_DEPENDS test) ++ ++boost_test_run(addressof_fn_test ../addressof_fn_test.cpp) ++boost_test_run(addressof_test ../addressof_test.cpp) ++boost_test_run(addressof_test2 ../addressof_test2.cpp) ++boost_test_run(assert_test ../assert_test.cpp) ++boost_test_run(base_from_member_test ../base_from_member_test.cpp) ++boost_test_run(binary_search_test ../binary_search_test.cpp) ++boost_test_run(call_traits_test ../call_traits_test.cpp ARGS -u) ++boost_test_compile_fail(checked_delete_test ../checked_delete_test.cpp) ++boost_test_run(compressed_pair_test ++ ../compressed_pair_test ++ DEPENDS boost_test_exec_monitor) ++boost_test_run(current_function_test ../current_function_test.cpp) ++boost_test_run(iterators_test ++ ../iterators_test.cpp ++ DEPENDS boost_test_exec_monitor) ++boost_test_run(next_prior_test DEPENDS boost_test_exec_monitor) ++boost_test_compile_fail(noncopyable_test ../noncopyable_test.cpp) ++boost_test_run(numeric_traits_test ../numeric_traits_test.cpp) ++if (${CMAKE_SYSTEM} MATCHES "FreeBSD-.*") ++boost_test_compile_fail("operators_test_compilerbug") ++elseif(${CMAKE_SYSTEM} MATCHES "FreeBSD-.*") ++boost_test_run(operators_test ++ ../operators_test.cpp ++ DEPENDS boost_test_exec_monitor) ++endif(${CMAKE_SYSTEM} MATCHES "FreeBSD-.*") ++boost_test_compile(ref_ct_test ../ref_ct_test.cpp) ++boost_test_run(ref_test ++ ../ref_test.cpp ++ DEPENDS boost_test_exec_monitor) ++boost_test_compile(result_of_test) ++boost_test_run(shared_iterator_test ../shared_iterator_test.cpp) ++boost_test_run(value_init_test ../value_init_test.cpp) ++boost_test_compile_fail(value_init_test_fail1 ++ ../value_init_test_fail1.cpp) ++boost_test_compile_fail(value_init_test_fail2 ++ ../value_init_test_fail2.cpp) ++boost_test_compile_fail(value_init_test_fail3 ++ ../value_init_test_fail3.cpp) ++boost_test_run(verify_test ../verify_test.cpp) +\ No newline at end of file +diff --git a/libs/uuid/CMakeLists.txt b/libs/uuid/CMakeLists.txt +new file mode 100644 +index 0000000..7e68b86 +--- /dev/null ++++ b/libs/uuid/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright (c) 2010 Isidor Zeuner ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ uuid ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ uuid ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "The header uuid.hpp provides an implementation of Universally Unique Identifiers." ++ MODULARIZED ++ AUTHORS "Andy Tompkins" ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/uuid/module.cmake b/libs/uuid/module.cmake +new file mode 100644 +index 0000000..dd00dfc +--- /dev/null ++++ b/libs/uuid/module.cmake +@@ -0,0 +1,3 @@ ++boost_module(uuid) ++ ++ +diff --git a/libs/variant/CMakeLists.txt b/libs/variant/CMakeLists.txt +new file mode 100644 +index 0000000..cbd2edb +--- /dev/null ++++ b/libs/variant/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ variant.hpp ++ variant ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ variant ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ # DESCRIPTION ++ MODULARIZED ++ # AUTHORS ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/variant/module.cmake b/libs/variant/module.cmake +new file mode 100644 +index 0000000..0d9b7c3 +--- /dev/null ++++ b/libs/variant/module.cmake +@@ -0,0 +1 @@ ++boost_module(variant DEPENDS utility) +\ No newline at end of file +diff --git a/libs/variant/test/CMakeLists.txt b/libs/variant/test/CMakeLists.txt +new file mode 100644 +index 0000000..ec6ec1c +--- /dev/null ++++ b/libs/variant/test/CMakeLists.txt +@@ -0,0 +1,15 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_additional_test_dependencies(variant BOOST_DEPENDS test) ++ ++boost_test_run(test1 test1.cpp class_a.cpp) ++boost_test_run(test4 test4.cpp class_a.cpp) ++set(tests test2 test3 test5 test6 test7 test8 recursive_variant_test variant_reference_test variant_comparison_test variant_visit_test) ++ ++foreach(test ${tests}) ++ boost_test_run(${test}) ++endforeach(test ${tests}) +diff --git a/libs/wave/CMakeLists.txt b/libs/wave/CMakeLists.txt +new file mode 100644 +index 0000000..0190577 +--- /dev/null ++++ b/libs/wave/CMakeLists.txt +@@ -0,0 +1,28 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ wave.hpp ++ wave ++) ++ ++# Add a library target to the build system ++boost_library_project(wave ++ ++ SRCDIRS src ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "A standards-conformant and highly-configurable implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface." ++ MODULARIZED ++ AUTHORS "Hartmut Kaiser " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/wave/module.cmake b/libs/wave/module.cmake +new file mode 100644 +index 0000000..32a3502 +--- /dev/null ++++ b/libs/wave/module.cmake +@@ -0,0 +1 @@ ++boost_module(wave DEPENDS filesystem program_options spirit thread intrusive) +\ No newline at end of file +diff --git a/libs/wave/src/CMakeLists.txt b/libs/wave/src/CMakeLists.txt +new file mode 100644 +index 0000000..63a2115 +--- /dev/null ++++ b/libs/wave/src/CMakeLists.txt +@@ -0,0 +1,24 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_add_library(wave ++ ++ instantiate_cpp_exprgrammar.cpp ++ instantiate_cpp_grammar.cpp ++ instantiate_cpp_literalgrs.cpp ++ instantiate_defined_grammar.cpp ++ instantiate_predef_macros.cpp ++ instantiate_re2c_lexer.cpp ++ instantiate_re2c_lexer_str.cpp ++ token_ids.cpp ++ wave_config_constant.cpp ++ cpplexer/re2clex/aq.cpp ++ cpplexer/re2clex/cpp_re.cpp ++ ++ DEPENDS boost_filesystem boost_thread boost_date_time ++ SHARED_COMPILE_FLAGS "-DBOOST_ALL_DYN_LINK=1" ++ NO_SINGLE_THREADED ++ ) +diff --git a/libs/wave/test/CMakeLists.txt b/libs/wave/test/CMakeLists.txt +new file mode 100644 +index 0000000..880cf8d +--- /dev/null ++++ b/libs/wave/test/CMakeLists.txt +@@ -0,0 +1,8 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++message(STATUS "wave tests need love") ++ +diff --git a/libs/xpressive/CMakeLists.txt b/libs/xpressive/CMakeLists.txt +new file mode 100644 +index 0000000..c59fcaa +--- /dev/null ++++ b/libs/xpressive/CMakeLists.txt +@@ -0,0 +1,27 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++#---------------------------------------------------------------------------- ++# This file was automatically generated from the original CMakeLists.txt file ++# Add a variable to hold the headers for the library ++set (lib_headers ++ xpressive ++) ++ ++# Add a library target to the build system ++boost_library_project( ++ xpressive ++ # SRCDIRS ++ TESTDIRS test ++ HEADERS ${lib_headers} ++ # DOCDIRS ++ DESCRIPTION "Regular expressions that can be written as strings or as expression templates, and which can refer to each other and themselves recursively with the power of context-free grammars." ++ MODULARIZED ++ AUTHORS "Eric Niebler " ++ # MAINTAINERS ++) ++ ++ +diff --git a/libs/xpressive/module.cmake b/libs/xpressive/module.cmake +new file mode 100644 +index 0000000..ecd1f5e +--- /dev/null ++++ b/libs/xpressive/module.cmake +@@ -0,0 +1 @@ ++boost_module(xpressive DEPENDS fusion proto intrusive numeric) +\ No newline at end of file +diff --git a/libs/xpressive/test/CMakeLists.txt b/libs/xpressive/test/CMakeLists.txt +new file mode 100644 +index 0000000..66cb9d3 +--- /dev/null ++++ b/libs/xpressive/test/CMakeLists.txt +@@ -0,0 +1,84 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++# : requirements ++# intel:off ++# msvc,stlport:_STLP_EXPOSE_GLOBALS_IMPLEMENTATION ++ ++# [ linkp multiple_defs1.cpp multiple_defs2.cpp : : multiple_defs ] ++ ++# TODO: Fix these ++# boost_test_fail("multipledefs") ++# boost_test_fail("msvc-stlport") ++boost_additional_test_dependencies(xpressive BOOST_DEPENDS test intrusive numeric range typeof function_types) ++ ++if (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) ++ FILE(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/libs/date_time/data") ++ execute_process(COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/libs/xpressive/test/regress.txt" "${CMAKE_CURRENT_BINARY_DIR}") ++endif (NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) ++ ++SET(runtests ++ regress ++ c_traits ++ test1 ++ test2 ++ test3 ++ test4 ++ test5 ++ test6 ++ test7 ++ test8 ++ test9 ++ test10 ++ test11 ++ test1u ++ test2u ++ test3u ++ test4u ++ test5u ++ test6u ++ test7u ++ test8u ++ test9u ++ test10u ++ test11u ++ misc1 ++ misc2 ++ test_format ++ test_cycles ++ test_non_char ++ test_static ++ test_actions ++ test_assert ++ test_symbols ++ test_dynamic ++ test_dynamic_grammar ++ test_skip ++ ) ++ ++foreach(runtest ${runtests}) ++ boost_test_run(${runtest} DEPENDS boost_unit_test_framework ) ++endforeach(runtest ${runtests}) ++ ++boost_test_link(multiple_defs multiple_defs1.cpp multiple_defs2.cpp) ++ ++set(compiletests ++ test_basic_regex ++ test_match_results ++ test_regex_algorithms ++ test_regex_compiler ++ test_regex_constants ++ test_regex_error ++ test_regex_iterator ++ test_regex_primitives ++ test_regex_token_iterator ++ test_regex_traits ++ test_sub_match ++ ) ++ ++foreach(compiletest ${compiletests}) ++ boost_test_compile(${compiletest}) ++endforeach(compiletest ${compiletests}) +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +new file mode 100644 +index 0000000..31ac39f +--- /dev/null ++++ b/tools/CMakeLists.txt +@@ -0,0 +1,122 @@ ++# ++# Copyright Troy D. Straszheim, Doug Gregor ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++ ++macro(boost_collect_lib_dependencies varname filename) ++ #message(STATUS "boost_collect_lib_dependencies.... ${Boost_SOURCE_DIR}/libs") ++ file(GLOB BOOST_LIBRARY_CMAKE_FILES ++ RELATIVE "${CMAKE_LIBS_SOURCE_DIR}" "${BOOST_LIBS_SOURCE_DIR}/*/${filename}") ++ foreach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES}) ++ #message(STATUS "-- BOOST_LIB_CMAKE_FILE: ${BOOST_LIB_CMAKE_FILE}") ++ get_filename_component(BOOST_LIB_DIR ${BOOST_LIB_CMAKE_FILE} PATH) ++ set(${varname} ${${varname}} ${BOOST_LIB_DIR}) ++ endforeach(BOOST_LIB_CMAKE_FILE ${BOOST_LIBRARY_CMAKE_FILES}) ++endmacro(boost_collect_lib_dependencies varname) ++ ++ ++# Find all of the subdirectories with .cmake files in them. These are ++# the libraries with dependencies. ++boost_collect_lib_dependencies(BOOST_MODULE_DIRS "module.cmake") ++foreach(subdir ${BOOST_MODULE_DIRS}) ++ #message("BOOST_MODULE_DIRS=${BOOST_MODULE_DIRS}") ++ include("${subdir}/module.cmake") ++endforeach(subdir) ++ ++ ++############################################################################### ++# This macro is an internal utility macro ++# TODO: Document this if it stays around ++# ++# example usage: ++# boost_tool_dependencies( BOOST_DEPENDS test) ++# ++macro(boost_tool_dependencies) ++ parse_arguments(BOOST_TEST ++ "BOOST_DEPENDS" ++ "" ++ ${ARGN} ++ ) ++ set (THIS_TEST_DEPENDS_ALL "") ++ # message (STATUS "BOOST_TEST_BOOST_DEPENDS: ${BOOST_TEST_BOOST_DEPENDS}") ++ foreach(libname ${BOOST_TEST_BOOST_DEPENDS}) ++ # message(STATUS "libname: ${libname}") ++ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS) ++ # message(STATUS "${THIS_PROJECT_DEPENDS}: ${${THIS_PROJECT_DEPENDS}}") ++ # set(THIS_TEST_DEPENDS_ALL ${libname} ${${THIS_PROJECT_DEPENDS}} ) ++ # message(STATUS "${THIS_TEST_DEPENDS_ALL}: ${${THIS_TEST_DEPENDS_ALL}}") ++ ++ list(FIND THIS_TEST_DEPENDS_ALL ${libname} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_TEST_DEPENDS_ALL ${libname}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS) ++ # message(STATUS "${additional_lib}: ===> ${${THIS_PROJECT_DEPENDS}}") ++ set(ADDED_DEPS TRUE) ++ while (ADDED_DEPS) ++ set(ADDED_DEPS FALSE) ++ foreach(DEP ${THIS_TEST_DEPENDS_ALL}) ++ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS) ++ foreach(DEPDEP ${${DEP_DEPENDS}}) ++ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ endforeach() ++ endforeach() ++ endwhile() ++ # message(STATUS "-> Dependencies for ${libname}") ++ # message(STATUS "-> THIS_TEST_DEPENDS_ALL: ${THIS_TEST_DEPENDS_ALL}") ++ ++ endforeach(libname ${BOOST_TEST_BOOST_DEPENDS}) ++ foreach (include ${THIS_TEST_DEPENDS_ALL}) ++ # ++ # Modularization temporarily disabled ++ # ++ # include_directories("${Boost_SOURCE_DIR}/libs/${include}/include") ++ # ++ endforeach (include ${includes}) ++ ++endmacro(boost_tool_dependencies) ++# ++############################################################################### ++ ++set(BUILD_TOOLS "NONE" CACHE STRING "Semicolon-separated list of tools to build") ++ ++message(STATUS "") ++if (BUILD_TOOLS STREQUAL "NONE") ++ ++ colormsg(HIGRAY "BUILD_TOOLS is NONE: skipping tools.") ++ ++else() ++ ++ colormsg(_HIBLUE_ "Reading tools...") ++ message(STATUS "") ++ ++ file(GLOB BOOST_TOOL_CMAKE_FILES ++ RELATIVE "${CMAKE_TOOLS_PARENT_DIR}" "${BOOST_TOOLS_PARENT_DIR}/*/CMakeLists.txt") ++ foreach(BOOST_TOOL_CMAKE_FILE ${BOOST_TOOL_CMAKE_FILES}) ++ get_filename_component(BOOST_TOOL_DIR ${BOOST_TOOL_CMAKE_FILE} PATH) ++ set(tooldirs ${tooldirs} ${BOOST_TOOL_DIR}) ++ endforeach() ++ ++ foreach(tooldir ++ ${tooldirs} ++ ) ++ get_filename_component(tooldirname ${tooldir} NAME) ++ list(FIND BUILD_TOOLS ${tooldir} THIS_BUILD_TOOLS_INDEX) ++ if ((THIS_BUILD_TOOLS_INDEX GREATER -1) OR (BUILD_TOOLS STREQUAL "ALL")) ++ message(STATUS "+ ${tooldirname}") ++ add_subdirectory(${tooldir}) ++ endif() ++ ++ endforeach() ++ ++endif() ++ ++message(STATUS "") ++ +diff --git a/tools/bcp/CMakeLists.txt b/tools/bcp/CMakeLists.txt +new file mode 100644 +index 0000000..8c435b7 +--- /dev/null ++++ b/tools/bcp/CMakeLists.txt +@@ -0,0 +1,32 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++boost_tool_project(bcp ++ DESCRIPTION "The bcp utility is a tool for extracting subsets of Boost." ++ AUTHORS "John Maddock" ++ ) ++ ++add_definitions(-DBOOST_REGEX_DYN_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1) ++ ++boost_add_executable( bcp ++ ++ add_path.cpp ++ bcp_imp.cpp ++ copy_path.cpp ++ file_types.cpp ++ fileview.cpp ++ main.cpp ++ path_operations.cpp ++ scan_cvs_path.cpp ++ licence_info.cpp ++ scan_licence.cpp ++ output_licence_info.cpp ++ ++ DEPENDS boost_system boost_filesystem boost_prg_exec_monitor boost_regex ++ STATIC_COMPILE_FLAGS -DBOOST_SYSTEM_STATIC_LINK=1 ++ RELEASE ++ STATIC ++ ) +diff --git a/tools/build/CMake/Boost.bmp b/tools/build/CMake/Boost.bmp +new file mode 100644 +index 0000000..944ab5e +Binary files /dev/null and b/tools/build/CMake/Boost.bmp differ +diff --git a/tools/build/CMake/Boost.png b/tools/build/CMake/Boost.png +new file mode 100644 +index 0000000..b4d51fc +Binary files /dev/null and b/tools/build/CMake/Boost.png differ +diff --git a/tools/build/CMake/BoostConfig.cmake b/tools/build/CMake/BoostConfig.cmake +new file mode 100644 +index 0000000..3519294 +--- /dev/null ++++ b/tools/build/CMake/BoostConfig.cmake +@@ -0,0 +1,249 @@ ++########################################################################## ++# Boost Configuration Support # ++########################################################################## ++# Copyright (C) 2007 Douglas Gregor # ++# Copyright (C) 2007 Troy Straszheim # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# This module defines several variables that provide information about # ++# the target compiler and platform. # ++# # ++# Variables defined: # ++# # ++# BOOST_TOOLSET: # ++# The Boost toolset name, used by the library version mechanism to # ++# encode the compiler and version into the name of the # ++# library. This toolset name will correspond with Boost.Build # ++# version 2's toolset name, including version number. # ++# # ++# MULTI_THREADED_COMPILE_FLAGS: # ++# Compilation flags when building multi-threaded programs. # ++# # ++# MULTI_THREADED_LINK_FLAGS: # ++# Linker flags when building multi-threaded programs. # ++########################################################################## ++include(CheckCXXSourceCompiles) ++ ++ ++# Toolset detection. ++if (NOT BOOST_TOOLSET) ++ set(BOOST_TOOLSET "unknown") ++ if (MSVC60) ++ set(BOOST_TOOLSET "vc6") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "6.0") ++ elseif(MSVC70) ++ set(BOOST_TOOLSET "vc7") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "7.0") ++ elseif(MSVC71) ++ set(BOOST_TOOLSET "vc71") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "7.1") ++ elseif(MSVC80) ++ set(BOOST_TOOLSET "vc80") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "8.0") ++ elseif(MSVC90) ++ set(BOOST_TOOLSET "vc90") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "9.0") ++ elseif(MSVC) ++ set(BOOST_TOOLSET "vc") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "unknown") ++ elseif(BORLAND) ++ set(BOOST_TOOLSET "bcb") ++ set(BOOST_COMPILER "msvc") ++ set(BOOST_COMPILER_VERSION "unknown") ++ elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) ++ set(BOOST_COMPILER "gcc") ++ ++ # Execute GCC with the -dumpversion option, to give us a version string ++ execute_process( ++ COMMAND ${CMAKE_CXX_COMPILER} "-dumpversion" ++ OUTPUT_VARIABLE GCC_VERSION_STRING) ++ ++ # Match only the major and minor versions of the version string ++ string(REGEX MATCH "[0-9]+.[0-9]+" GCC_MAJOR_MINOR_VERSION_STRING ++ "${GCC_VERSION_STRING}") ++ ++ # Match the full compiler version for the build name ++ string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" BOOST_COMPILER_VERSION ++ "${GCC_VERSION_STRING}") ++ ++ # Strip out the period between the major and minor versions ++ string(REGEX REPLACE "\\." "" BOOST_VERSIONING_GCC_VERSION ++ "${GCC_MAJOR_MINOR_VERSION_STRING}") ++ ++ # Set the GCC versioning toolset ++ set(BOOST_TOOLSET "gcc${BOOST_VERSIONING_GCC_VERSION}") ++ elseif(CMAKE_CXX_COMPILER MATCHES "/icpc$" ++ OR CMAKE_CXX_COMPILER MATCHES "/icpc.exe$" ++ OR CMAKE_CXX_COMPILER MATCHES "/icl.exe$") ++ set(BOOST_TOOLSET "intel") ++ set(BOOST_COMPILER "intel") ++ set(CMAKE_COMPILER_IS_INTEL ON) ++ execute_process( ++ COMMAND ${CMAKE_CXX_COMPILER} "-dumpversion" ++ OUTPUT_VARIABLE INTEL_VERSION_STRING ++ OUTPUT_STRIP_TRAILING_WHITESPACE) ++ set(BOOST_COMPILER_VERSION ${INTEL_VERSION_STRING}) ++ endif(MSVC60) ++endif (NOT BOOST_TOOLSET) ++ ++boost_report_pretty("Boost compiler" BOOST_COMPILER) ++boost_report_pretty("Boost toolset" BOOST_TOOLSET) ++ ++# create cache entry ++set(BOOST_PLATFORM "unknown") ++ ++# Multi-threading support ++if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") ++ set(MULTI_THREADED_COMPILE_FLAGS "-pthreads") ++ set(MULTI_THREADED_LINK_LIBS rt) ++ set(BOOST_PLATFORM "sunos") ++elseif(CMAKE_SYSTEM_NAME STREQUAL "BeOS") ++ # No threading options necessary for BeOS ++ set(BOOST_PLATFORM "beos") ++elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSD") ++ set(MULTI_THREADED_COMPILE_FLAGS "-pthread") ++ set(MULTI_THREADED_LINK_LIBS pthread) ++ set(BOOST_PLATFORM "bsd") ++elseif(CMAKE_SYSTEM_NAME STREQUAL "DragonFly") ++ # DragonFly is a FreeBSD bariant ++ set(MULTI_THREADED_COMPILE_FLAGS "-pthread") ++ set(BOOST_PLATFORM "dragonfly") ++elseif(CMAKE_SYSTEM_NAME STREQUAL "IRIX") ++ # TODO: GCC on Irix doesn't support multi-threading? ++ set(BOOST_PLATFORM "irix") ++elseif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") ++ # TODO: gcc on HP-UX does not support multi-threading? ++ set(BOOST_PLATFORM "hpux") ++elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") ++ # No threading options necessary for Mac OS X ++ set(BOOST_PLATFORM "macos") ++elseif(UNIX) ++ # Assume -pthread and -lrt on all other variants ++ set(MULTI_THREADED_COMPILE_FLAGS "-pthread -D_REENTRANT") ++ set(MULTI_THREADED_LINK_FLAGS "") ++ set(MULTI_THREADED_LINK_LIBS pthread rt) ++ ++ if (MINGW) ++ set(BOOST_PLATFORM "mingw") ++ elseif(CYGWIN) ++ set(BOOST_PLATFORM "cygwin") ++ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux") ++ set(BOOST_PLATFORM "linux") ++ else() ++ set(BOOST_PLATFORM "unix") ++ endif() ++elseif(WIN32) ++ set(BOOST_PLATFORM "windows") ++else() ++ set(BOOST_PLATFORM "unknown") ++endif() ++ ++# create cache entry ++set(BOOST_PLATFORM ${BOOST_PLATFORM} CACHE STRING "Boost platform name") ++ ++boost_report_pretty("Boost platform" BOOST_PLATFORM) ++ ++# Setup DEBUG_COMPILE_FLAGS, RELEASE_COMPILE_FLAGS, DEBUG_LINK_FLAGS and ++# and RELEASE_LINK_FLAGS based on the CMake equivalents ++if(CMAKE_CXX_FLAGS_DEBUG) ++ if(MSVC) ++ # Eliminate the /MDd flag; we'll add it back when we need it ++ string(REPLACE "/MDd" "" CMAKE_CXX_FLAGS_DEBUG ++ "${CMAKE_CXX_FLAGS_DEBUG}") ++ endif(MSVC) ++ set(DEBUG_COMPILE_FLAGS "${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "Compilation flags for debug libraries") ++endif(CMAKE_CXX_FLAGS_DEBUG) ++if(CMAKE_CXX_FLAGS_RELEASE) ++ if(MSVC) ++ # Eliminate the /MD flag; we'll add it back when we need it ++ string(REPLACE "/MD" "" CMAKE_CXX_FLAGS_RELEASE ++ "${CMAKE_CXX_FLAGS_RELEASE}") ++ endif(MSVC) ++ set(RELEASE_COMPILE_FLAGS "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "Compilation flags for release libraries") ++endif(CMAKE_CXX_FLAGS_RELEASE) ++if(CMAKE_SHARED_LINKER_FLAGS_DEBUG) ++ set(DEBUG_LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE STRING "Linker flags for debug libraries") ++endif(CMAKE_SHARED_LINKER_FLAGS_DEBUG) ++if(CMAKE_SHARED_LINKER_FLAGS_RELEASE) ++ set(RELEASE_LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" CACHE STRING "Link flags for release libraries") ++endif(CMAKE_SHARED_LINKER_FLAGS_RELEASE) ++ ++# Set DEBUG_EXE_LINK_FLAGS, RELEASE_EXE_LINK_FLAGS ++if (CMAKE_EXE_LINKER_FLAGS_DEBUG) ++ set(DEBUG_EXE_LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS_DEBUG}") ++endif (CMAKE_EXE_LINKER_FLAGS_DEBUG) ++if (CMAKE_EXE_LINKER_FLAGS_RELEASE) ++ set(RELEASE_EXE_LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") ++endif (CMAKE_EXE_LINKER_FLAGS_RELEASE) ++ ++# Tweak the configuration and build types appropriately. ++if(CMAKE_CONFIGURATION_TYPES) ++ # Limit CMAKE_CONFIGURATION_TYPES to Debug and Release ++ set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Semicolon-separate list of supported configuration types" FORCE) ++else(CMAKE_CONFIGURATION_TYPES) ++ # Build in release mode by default ++ if (NOT CMAKE_BUILD_TYPE) ++ set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are Release or Debug" FORCE) ++ endif (NOT CMAKE_BUILD_TYPE) ++endif(CMAKE_CONFIGURATION_TYPES) ++ ++# Clear out the built-in C++ compiler and link flags for each of the ++# configurations. ++set(CMAKE_CXX_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_EXE_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_CXX_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_EXE_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_CXX_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost") ++set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost") ++ ++# Set the build name ++set(BUILDNAME "${BOOST_COMPILER}-${BOOST_COMPILER_VERSION}-${BOOST_PLATFORM}") ++boost_report_pretty("Build name" BUILDNAME) ++ ++set(BUILD_EXAMPLES "NONE" CACHE STRING "Semicolon-separated list of lowercase project names that should have their examples built, or \"ALL\"") ++ ++set(BUILD_PROJECTS "ALL" CACHE STRING "Semicolon-separated list of project to build, or \"ALL\"") ++ ++set(LIB_SUFFIX "" CACHE STRING "Name of suffix on 'lib' directory to which libs will be installed (e.g. add '64' here on certain 64 bit unices)") ++if(LIB_SUFFIX) ++ boost_report_pretty("Lib suffix" LIB_SUFFIX) ++endif() ++ ++# ++# Only modify these if you're testing the cmake build itself ++# ++if(BOOST_CMAKE_SELFTEST) ++ colormsg(HIMAG "***") ++ colormsg(HIMAG "*** SELFTEST ENABLED") ++ colormsg(HIMAG "***") ++ set(root "${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/test") ++ set(BOOST_CMAKE_SELFTEST_ROOT ${root}) ++else() ++ set(root "${CMAKE_CURRENT_SOURCE_DIR}") ++endif() ++ ++set(BOOST_LIBS_PARENT_DIR "${root}/libs" CACHE INTERNAL ++ "Directory to glob tools from... only change to test the build system itself") ++ ++set(BOOST_TOOLS_PARENT_DIR "${root}/tools" CACHE INTERNAL ++ "Directory to glob tools from... only change to test the build system itself") ++ +diff --git a/tools/build/CMake/BoostCore.cmake b/tools/build/CMake/BoostCore.cmake +new file mode 100644 +index 0000000..5c810c6 +--- /dev/null ++++ b/tools/build/CMake/BoostCore.cmake +@@ -0,0 +1,1579 @@ ++########################################################################## ++# Core Functionality for Boost # ++########################################################################## ++# Copyright (C) 2007-2009 Douglas Gregor # ++# Copyright (C) 2007-2009 Troy Straszheim # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# Important developer macros in this file: # ++# # ++# boost_library_project: Defines a Boost library project (e.g., # ++# Boost.Python). # ++# # ++# boost_add_library: Builds library binaries for Boost libraries # ++# with compiled sources (e.g., boost_filesystem). # ++# # ++# boost_add_executable: Builds executables. # ++########################################################################## ++ ++# Defines a Boost library project (e.g., for Boost.Python). Use as: ++# ++# boost_library_project(libname ++# [SRCDIRS srcdir1 srcdir2 ...] ++# [TESTDIRS testdir1 testdir2 ...] ++# [DEPENDS lib1 lib2 ...] ++# [DESCRIPTION description] ++# [AUTHORS author1 author2 ...] ++# [MAINTAINERS maint1 maint2 ...] ++# [MODULARIZED]) ++# ++# where libname is the name of the library (e.g., Python, or ++# Filesystem), srcdir1, srcdir2, etc, are subdirectories containing ++# library sources (for Boost libraries that build actual library ++# binaries), and testdir1, testdir2, etc, are subdirectories ++# 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. ++# ++# 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 ++# ++# Example: ++# boost_library_project( ++# Thread ++# SRCDIRS src ++# TESTDIRS test ++# ) ++macro(boost_library_project LIBNAME) ++ parse_arguments(THIS_PROJECT ++ "SRCDIRS;TESTDIRS;EXAMPLEDIRS;HEADERS;DOCDIRS;DESCRIPTION;AUTHORS;MAINTAINERS" ++ "MODULARIZED" ++ ${ARGN} ++ ) ++ ++ # Set THIS_PROJECT_DEPENDS_ALL to the set of all of its ++ # dependencies, its dependencies' dependencies, etc., transitively. ++ string(TOUPPER "BOOST_${LIBNAME}_DEPENDS" THIS_PROJECT_DEPENDS) ++ set(THIS_PROJECT_DEPENDS_ALL ${${THIS_PROJECT_DEPENDS}}) ++ set(ADDED_DEPS TRUE) ++ while (ADDED_DEPS) ++ set(ADDED_DEPS FALSE) ++ foreach(DEP ${THIS_PROJECT_DEPENDS_ALL}) ++ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS) ++ foreach(DEPDEP ${${DEP_DEPENDS}}) ++ list(FIND THIS_PROJECT_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_PROJECT_DEPENDS_ALL ${DEPDEP}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ endforeach() ++ endforeach() ++ endwhile() ++ ++ string(TOLOWER "${LIBNAME}" libname) ++ string(TOLOWER "${LIBNAME}" BOOST_PROJECT_NAME) ++ string(TOUPPER "${LIBNAME}" ULIBNAME) ++ project(${LIBNAME}) ++ ++ ++ if (THIS_PROJECT_MODULARIZED OR THIS_PROJECT_SRCDIRS) ++ ++ # We only build a component group for modularized libraries or libraries ++ # that have compiled parts. ++ if (COMMAND cpack_add_component_group) ++ # Compute a reasonable description for this library. ++ 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) ++ endif (THIS_PROJECT_DESCRIPTION) ++ ++ # Create a component group for this library ++ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname}) ++ cpack_add_component_group(${CPACK_COMPONENT_GROUP_NAME} ++ DISPLAY_NAME "${LIBNAME}" ++ DESCRIPTION ${THIS_PROJECT_DESCRIPTION}) ++ endif () # COMMAND cpake_add_component_group ++ endif () # THIS_PROJECT_MODULARIZED OR THIS_PROJECT_SRCDIRS ++ ++ if (THIS_PROJECT_MODULARIZED) ++ # ++ # Don't add this module's include directory ++ # until modularization makes sense ++ # ++ # include_directories("${Boost_SOURCE_DIR}/libs/${libname}/include") ++ ++ # ++ # Horrible hackery. Make install of headers from modularized directories ++ # OPTIONAL, which only works on cmake >= 2.7 ++ # ++ # ++ # TDS 20091009: disable this modularized stuff, as forcing ++ # people to make modularize (which wastes your source directory) ++ # is a huge hassle and anyway it looks like the 'modularization' ++ # of boost is dead for a while. ++ # ++ ++ # if (${CMAKE_MAJOR_VERSION} GREATER 1 AND ${CMAKE_MINOR_VERSION} GREATER 6) ++ # # Install this module's headers ++ # install(DIRECTORY include/boost ++ # DESTINATION ${BOOST_HEADER_DIR} ++ # ${_INSTALL_OPTIONAL} ++ # COMPONENT ${libname}_headers ++ # PATTERN "CVS" EXCLUDE ++ # PATTERN ".svn" EXCLUDE) ++ # else() ++ # if (EXISTS include/boost) ++ # # Install this module's headers ++ # install(DIRECTORY include/boost ++ # DESTINATION ${BOOST_HEADER_DIR} ++ # ${_INSTALL_OPTIONAL} ++ # COMPONENT ${libname}_headers ++ # PATTERN "CVS" EXCLUDE ++ # PATTERN ".svn" EXCLUDE) ++ # endif() ++ # endif() ++ ++ ++ if (COMMAND cpack_add_component) ++ # Determine the header dependencies ++ set(THIS_PROJECT_HEADER_DEPENDS) ++ foreach(DEP ${${THIS_PROJECT_DEPENDS}}) ++ string(TOLOWER ${DEP} dep) ++ if (${dep} STREQUAL "serialization") ++ # TODO: Ugly, ugly hack until the serialization library is modularized ++ elseif (${dep} STREQUAL "thread") ++ else() ++ list(APPEND THIS_PROJECT_HEADER_DEPENDS ${dep}_headers) ++ endif() ++ endforeach(DEP) ++ ++ # Tell CPack about the headers component ++ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname}) ++ cpack_add_component(${libname}_headers ++ DISPLAY_NAME "Header files" ++ GROUP ${CPACK_COMPONENT_GROUP_NAME} ++ DEPENDS ${THIS_PROJECT_HEADER_DEPENDS}) ++ endif () ++ endif () # THIS_PROJECT_MODULARIZED ++ ++ #-- This is here to debug the modularize code ++ set(modularize_debug FALSE) ++ if (modularize_debug) ++ set(modularize_output ${Boost_BINARY_DIR}) ++ set(modularize_libs_dir "modularize") ++ else (modularize_debug) ++ set(modularize_output ${Boost_SOURCE_DIR}) ++ set(modularize_libs_dir "libs") ++ endif(modularize_debug) ++ ++ # ++ # Modularization code ++ # ++ if(THIS_PROJECT_HEADERS) ++ set(${LIBNAME}-modularize-commands) ++ foreach(item ${THIS_PROJECT_HEADERS}) ++ if(EXISTS "${Boost_SOURCE_DIR}/boost/${item}") ++ if(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}") ++ list(APPEND ${LIBNAME}-modularize-commands ++ COMMAND "${CMAKE_COMMAND}" -E copy_directory ++ "${Boost_SOURCE_DIR}/boost/${item}" ++ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost/${item}" ++ ) ++ if (NOT modularize_debug) ++ list(APPEND ${LIBNAME}-modularize-commands ++ COMMAND "${CMAKE_COMMAND}" -E remove_directory "${Boost_SOURCE_DIR}/boost/${item}" ++ ) ++ endif (NOT modularize_debug) ++ else(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}") ++ list(APPEND ${LIBNAME}-modularize-commands ++ COMMAND "${CMAKE_COMMAND}" -E copy ++ "${Boost_SOURCE_DIR}/boost/${item}" ++ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost/${item}" ++ ) ++ if (NOT modularize_debug) ++ list(APPEND ${LIBNAME}-modularize-commands ++ COMMAND "${CMAKE_COMMAND}" -E remove "${Boost_SOURCE_DIR}/boost/${item}" ++ ) ++ endif (NOT modularize_debug) ++ ++ endif(IS_DIRECTORY "${Boost_SOURCE_DIR}/boost/${item}") ++ elseif(EXISTS "${Boost_SOURCE_DIR}/${modularize_libs_dir}/${libname}/include/boost/${item}") ++ # Okay; already modularized ++ else() ++ message(SEND_ERROR ++ "Header or directory boost/${item} does not exist. The HEADERS argument in ${Boost_SOURCE_DIR}/${modularize_libs_dir}/${libname}/CMakeLists.txt should be updated.") ++ endif() ++ endforeach(item) ++ ++ if (${LIBNAME}-modularize-commands) ++ set(${LIBNAME}-modularize-commands ++ # COMMAND "${CMAKE_COMMAND}" -E remove_directory "${modularize_output}/libs/${libname}/include" ++ COMMAND "${CMAKE_COMMAND}" -E make_directory ++ "${modularize_output}/${modularize_libs_dir}/${libname}/include/boost" ++ ${${LIBNAME}-modularize-commands} ++ ) ++ if (NOT modularize_debug) ++ set(${LIBNAME}-modularize-commands ++ COMMAND "${CMAKE_COMMAND}" -E remove_directory "${modularize_output}/${modularize_libs_dir}/${libname}/include" ++ ${${LIBNAME}-modularize-commands} ++ ) ++ endif (NOT modularize_debug) ++ # disable modularization ++ # add_custom_target(${LIBNAME}-modularize ++ # ${${LIBNAME}-modularize-commands} ++ # COMMENT "Modularizing ${LIBNAME} headers to project-local dir from monolithic boost dir" ++ # ) ++ ++ if(THIS_PROJECT_MODULARIZED) ++ # ++ # Temporarily disable modularization ++ # ++ # add_dependencies(modularize ${LIBNAME}-modularize) ++ # ++ endif(THIS_PROJECT_MODULARIZED) ++ endif() ++ endif(THIS_PROJECT_HEADERS) ++ ++ # For each of the modular libraries on which this project depends, ++ # add the include path for that library. ++ set(THIS_PROJECT_HAS_HEADER_DEPENDS FALSE) ++ # Temporarily disable modularization stuff. ++ # foreach(DEP ${THIS_PROJECT_DEPENDS_ALL}) ++ # include_directories("${modularize_output}/${modularize_libs_dir}/${DEP}/include") ++ # endforeach(DEP) ++ ++ # TODO: is this still necessary? ++ if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests) ++ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/tests) ++ endif(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests) ++ if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME}) ++ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME}) ++ endif(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests/${BOOST_PROJECT_NAME}) ++ ++ # Include each of the source directories ++ if(THIS_PROJECT_SRCDIRS) ++ foreach(SUBDIR ${THIS_PROJECT_SRCDIRS}) ++ add_subdirectory(${SUBDIR}) ++ endforeach(SUBDIR ${THIS_PROJECT_SRCDIRS}) ++ endif() ++ ++ set(BOOST_ALL_COMPONENTS ${BOOST_ALL_COMPONENTS} PARENT_SCOPE) ++ ++ #set(BOOST_${LIBNAME}_COMPONENTS ${THIS_PROJECT_COMPONENTS} PARENT_SCOPE) ++ #message("BOOST_${LIBNAME}_COMPONENTS ${THIS_PROJECT_COMPONENTS}") ++ #set(BOOST_ALL_COMPONENTS ${LIBNAME} ${BOOST_ALL_COMPONENTS} PARENT_SCOPE) ++ ++ list(FIND BUILD_TESTS ${libname} BUILD_TESTS_INDEX) ++ if ((BUILD_TESTS_INDEX GREATER -1) OR (BUILD_TESTS STREQUAL "ALL")) ++ # set the tests directories list for later inclusion ++ # project(${libname}-tests) ++ if (THIS_PROJECT_TESTDIRS) ++ set(BOOST_TEST_PROJECTS ${ULIBNAME} ${BOOST_TEST_PROJECTS} PARENT_SCOPE) ++ endif() ++ foreach(SUBDIR ${THIS_PROJECT_TESTDIRS}) ++ # message(STATUS "+-- ${SUBDIR}") ++ # add_subdirectory(${SUBDIR}) ++ set(BOOST_${ULIBNAME}_TESTDIRS ++ ${BOOST_${ULIBNAME}_TESTDIRS} ++ ${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIR} ++ PARENT_SCOPE) ++ endforeach() ++ endif() ++ ++ list(FIND BUILD_EXAMPLES ${libname} BUILD_EXAMPLES_INDEX) ++ if ((BUILD_EXAMPLES_INDEX GREATER -1) OR (BUILD_EXAMPLES STREQUAL "ALL")) ++ project(${libname}-examples) ++ # Include the example directories. ++ foreach(SUBDIR ${THIS_PROJECT_EXAMPLEDIRS}) ++ message(STATUS "+-- ${SUBDIR}") ++ add_subdirectory(${SUBDIR}) ++ endforeach() ++ endif() ++ ++ if (BUILD_DOCUMENTATION AND THIS_PROJECT_DOCDIRS) ++ foreach(SUBDIR ${THIS_PROJECT_DOCDIRS}) ++ add_subdirectory(${SUBDIR}) ++ endforeach(SUBDIR) ++ endif () ++endmacro(boost_library_project) ++ ++macro(boost_tool_project TOOLNAME) ++ parse_arguments(THIS_PROJECT ++ "DESCRIPTION;AUTHORS;MAINTAINERS" ++ "" ++ ${ARGN} ++ ) ++ ++ set(THIS_PROJECT_IS_TOOL TRUE) ++ ++ string(TOUPPER ${TOOLNAME} UTOOLNAME) ++ project(${TOOLNAME}) ++ ++ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++ ++ set(THIS_PROJECT_OKAY ON) ++ set(THIS_PROJECT_FAILED_DEPS "") ++ ++ # message(">>> ${BOOST_${UTOOLNAME}_DEPENDS}") ++ # foreach(DEP ${BOOST_${UTOOLNAME}_DEPENDS}) ++ # get_target_property(dep_location boost_${DEP} TYPE) ++ # message("${DEP} TYPE=${dep_location}") ++ # if (NOT ${dep_location}) ++ # set(THIS_PROJECT_OKAY OFF) ++ # set(THIS_PROJECT_FAILED_DEPS "${THIS_PROJECT_FAILED_DEPS} ${DEP}\n") ++ # endif (NOT ${dep_location}) ++ # endforeach(DEP) ++ # ++ # if (NOT THIS_PROJECT_OKAY) ++ # #if (BUILD_${UTOOLNAME}) ++ # # The user explicitly turned on this tool in a prior ++ # # iteration, but it can no longer be built because one of the ++ # # dependencies was turned off. Force this option off and ++ # # complain about it. ++ # set(BUILD_${UTOOLNAME} OFF CACHE BOOL "Build ${TOOLNAME}" FORCE) ++ # message(SEND_ERROR "Cannot build ${TOOLNAME} due to missing library dependencies:\n${THIS_PROJECT_FAILED_DEPS}") ++ # #endif () ++ # endif (NOT THIS_PROJECT_OKAY) ++ # ++ # if(BUILD_${UTOOLNAME} AND THIS_PROJECT_OKAY) ++ # string(TOLOWER "${TOOLNAME}" toolname) ++ # ++ # # Add this module's include directory ++ # ++ # # For each of the modular libraries on which this project depends, ++ # # add the include path for that library. ++ # foreach(DEP ${BOOST_${UTOOLNAME}_DEPENDS}) ++ # string(TOUPPER ${DEP} UDEP) ++ # # ++ # # Modularization disabled ++ # # ++ # # include_directories("${Boost_SOURCE_DIR}/libs/${DEP}/include") ++ # # ++ # endforeach(DEP) ++ # endif() ++endmacro(boost_tool_project) ++ ++#TODO: Finish this documentation ++# Defines dependencies of a boost project and testing targets. Use as: ++# ++# boost_module(libname ++# DEPENDS srcdir1 srcdir2 ... ++# TEST_DEPENDS testdir1 testdir2 ... ++# ++# Example: ++# boost_library_project( ++# Thread ++# SRCDIRS src ++# TESTDIRS test ++# ) ++# ++macro(boost_module LIBNAME) ++ parse_arguments(THIS_MODULE ++ "DEPENDS" ++ "" ++ ${ARGN} ++ ) ++ ++ # Export BOOST_${LIBNAME}_DEPENDS ++ string(TOUPPER "BOOST_${LIBNAME}_DEPENDS" THIS_MODULE_LIBNAME_DEPENDS) ++ set(${THIS_MODULE_LIBNAME_DEPENDS} ${THIS_MODULE_DEPENDS}) ++ ++ # message(STATUS "----------------------------------------------------------------") ++ # message(STATUS "LIBNAME: ${LIBNAME}") ++ # message(STATUS "THIS_MODULE_DEPENDS: ${THIS_MODULE_DEPENDS}") ++ # message(STATUS "THIS_MODULE_LIBNAME_DEPENDS: ${THIS_MODULE_LIBNAME_DEPENDS}") ++ # message(STATUS "${THIS_MODULE_LIBNAME_DEPENDS}: ${${THIS_MODULE_LIBNAME_DEPENDS}}") ++ # message(STATUS "THIS_MODULE_TEST_DEPENDS: ${THIS_MODULE_TEST_DEPENDS}") ++ # message(STATUS "THIS_MODULE_LIBNAME_TEST_DEPENDS: ${THIS_MODULE_LIBNAME_TEST_DEPENDS}") ++ # message(STATUS "${THIS_MODULE_LIBNAME_TEST_DEPENDS}: ${${THIS_MODULE_LIBNAME_TEST_DEPENDS}}") ++endmacro(boost_module) ++ ++# This macro is an internal utility macro that builds the name of a ++# particular variant of a library ++# ++# boost_library_variant_target_name(feature1 feature2 ...) ++# ++# where feature1, feature2, etc. are the names of features to be ++# included in this variant, e.g., MULTI_THREADED, DEBUG. ++# ++# This macro sets three macros: ++# ++# VARIANT_TARGET_NAME: The suffix that should be appended to the ++# name of the library target to name this variant of the ++# library. For example, this might be "-mt-static" for a static, ++# multi-threaded variant. It should be used to name the CMake ++# library target, e.g., boost_signals-mt-static. ++# ++# VARIANT_VERSIONED_NAME: The suffix that will be added to the name ++# of the generated library, containing information about the ++# particular version of the library and the toolset used to build ++# this library. For example, this might be "-gcc41-mt-1_34" for the ++# multi-threaded, release variant of the library in Boost 1.34.0 as ++# compiled with GCC 4.1. If option MANGLE_LIBNAMES is OFF, this ++# variable is set to the empty string. ++# ++# VARIANT_DISPLAY_NAME: The display name that describes this ++# variant, e.g., "Debug, static, multi-threaded". ++# ++macro(boost_library_variant_target_name) ++ set(VARIANT_TARGET_NAME "") ++ ++ # The versioned name starts with the full Boost toolset ++ if(WINMANGLE_LIBNAMES) ++ set(VARIANT_VERSIONED_NAME "-${BOOST_TOOLSET}") ++ else(WINMANGLE_LIBNAMES) ++ set(VARIANT_VERSIONED_NAME "") ++ endif(WINMANGLE_LIBNAMES) ++ ++ # Add -mt for multi-threaded libraries ++ list_contains(VARIANT_IS_MT MULTI_THREADED ${ARGN}) ++ if (VARIANT_IS_MT) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-mt") ++ ++ # If we're creating versioned names, tack on "-mt" ++ set(VARIANT_VERSIONED_NAME "${VARIANT_VERSIONED_NAME}-mt") ++ endif (VARIANT_IS_MT) ++ ++ # Add -static for static libraries, -shared for shared libraries ++ list_contains(VARIANT_IS_STATIC STATIC ${ARGN}) ++ if (VARIANT_IS_STATIC) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-static") ++ set(VARIANT_DISPLAY_NAME "Static") ++ else (VARIANT_IS_STATIC) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-shared") ++ set(VARIANT_DISPLAY_NAME "Shared") ++ endif (VARIANT_IS_STATIC) ++ ++ # Add "multi-threaded" to the display name for multithreaded libraries. ++ if (VARIANT_IS_MT) ++ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, multi-threaded") ++ endif () ++ ++ # Compute the ABI tag, which depends on various kinds of options ++ set(VARIANT_ABI_TAG "") ++ ++ # Linking statically to the runtime library ++ list_contains(VARIANT_IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN}) ++ if (VARIANT_IS_STATIC_RUNTIME) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-staticrt") ++ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}s") ++ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, static runtime") ++ endif (VARIANT_IS_STATIC_RUNTIME) ++ ++ # Using the debug version of the runtime library. ++ # With Visual C++, this comes automatically with debug ++ if (MSVC) ++ list_contains(VARIANT_IS_DEBUG DEBUG ${ARGN}) ++ if (VARIANT_IS_DEBUG) ++ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}g") ++ endif (VARIANT_IS_DEBUG) ++ endif (MSVC) ++ ++ # Add -pydebug for debug builds of Python ++ list_contains(VARIANT_IS_PYDEBUG PYTHON_DEBUG ${ARGN}) ++ if (VARIANT_IS_PYDEBUG) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-pydebug") ++ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}y") ++ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, Python debugging") ++ endif (VARIANT_IS_PYDEBUG) ++ ++ # TODO: STLport rather than default library ++ # TODO: STLport's deprecated iostreams ++ ++ # Add -debug for debug libraries ++ list_contains(VARIANT_IS_DEBUG DEBUG ${ARGN}) ++ # message("ARGN=${ARGN}") ++ if (VARIANT_IS_DEBUG) ++ set(VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}-debug") ++ ++ set(VARIANT_ABI_TAG "${VARIANT_ABI_TAG}d") ++ ++ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, debug") ++ else() ++ set(VARIANT_DISPLAY_NAME "${VARIANT_DISPLAY_NAME}, release") ++ endif() ++ ++ # If there is an ABI tag, append it to the versioned name ++ if (VARIANT_ABI_TAG) ++ set(VARIANT_VERSIONED_NAME "${VARIANT_VERSIONED_NAME}-${VARIANT_ABI_TAG}") ++ endif (VARIANT_ABI_TAG) ++ ++ if(WINMANGLE_LIBNAMES) ++ # Append the Boost version number to the versioned name ++ if(BOOST_VERSION_SUBMINOR GREATER 0) ++ set(VARIANT_VERSIONED_NAME ++ "${VARIANT_VERSIONED_NAME}-${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}_${BOOST_VERSION_SUBMINOR}") ++ else(BOOST_VERSION_SUBMINOR GREATER 0) ++ set(VARIANT_VERSIONED_NAME ++ "${VARIANT_VERSIONED_NAME}-${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}") ++ endif(BOOST_VERSION_SUBMINOR GREATER 0) ++ endif(WINMANGLE_LIBNAMES) ++endmacro(boost_library_variant_target_name) ++ ++# This macro is an internal utility macro that updates compilation and ++# linking flags based on interactions among the features in a variant. ++# ++# boost_feature_interactions(prefix ++# feature1 feature2 ...) ++# ++# where "prefix" is the prefix of the compilation and linking flags ++# that will be updated (e.g., ${prefix}_COMPILE_FLAGS). feature1, ++# feature2, etc. are the names of the features used in this particular ++# variant. If the features in this variant conflict, set ++# ${prefix}_OKAY to FALSE. ++macro(boost_feature_interactions PREFIX) ++ # Don't build or link against a shared library and a static run-time ++ list_contains(IS_SHARED SHARED ${ARGN}) ++ list_contains(IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN}) ++ if (IS_SHARED AND IS_STATIC_RUNTIME) ++ set(${PREFIX}_OKAY FALSE) ++ endif (IS_SHARED AND IS_STATIC_RUNTIME) ++ ++ # With Visual C++, the dynamic runtime is multi-threaded only ++ if (MSVC) ++ list_contains(IS_DYNAMIC_RUNTIME DYNAMIC_RUNTIME ${ARGN}) ++ list_contains(IS_SINGLE_THREADED SINGLE_THREADED ${ARGN}) ++ if (IS_DYNAMIC_RUNTIME AND IS_SINGLE_THREADED) ++ set(${PREFIX}_OKAY FALSE) ++ endif (IS_DYNAMIC_RUNTIME AND IS_SINGLE_THREADED) ++ endif (MSVC) ++ ++ # Visual C++-specific runtime library flags ++ if(MSVC) ++ list_contains(IS_STATIC_RUNTIME STATIC_RUNTIME ${ARGN}) ++ list_contains(IS_DEBUG DEBUG ${ARGN}) ++ if(IS_DEBUG) ++ if(IS_STATIC_RUNTIME) ++ set(${PREFIX}_COMPILE_FLAGS "/MTd ${${PREFIX}_COMPILE_FLAGS}") ++ else(IS_STATIC_RUNTIME) ++ set(${PREFIX}_COMPILE_FLAGS "/MDd ${${PREFIX}_COMPILE_FLAGS}") ++ endif(IS_STATIC_RUNTIME) ++ else(IS_DEBUG) ++ if(IS_STATIC_RUNTIME) ++ set(${PREFIX}_COMPILE_FLAGS "/MT ${${PREFIX}_COMPILE_FLAGS}") ++ else(IS_STATIC_RUNTIME) ++ set(${PREFIX}_COMPILE_FLAGS "/MD ${${PREFIX}_COMPILE_FLAGS}") ++ endif(IS_STATIC_RUNTIME) ++ endif(IS_DEBUG) ++ endif(MSVC) ++endmacro(boost_feature_interactions) ++ ++# This macro is an internal utility macro that builds a particular ++# variant of a boost library. ++# ++# boost_library_variant(libname ++# feature1 feature2 ...) ++# ++# where libname is the name of the Boost library (e.g., ++# "boost_filesystem") and feature1, feature2, ... are the features ++# that will be used in this variant. ++# ++# This macro will define a new library target based on libname and the ++# specific variant name (see boost_library_variant_target_name), which ++# depends on the utility target libname. The compilation and linking ++# flags for this library are defined by THIS_LIB_COMPILE_FLAGS, ++# THIS_LIB_LINK_FLAGS, THIS_LIB_LINK_LIBS, and all of the compile and ++# linking flags implied by the features provided. ++# ++# If any of the features listed conflict with this library, no new ++# targets will be built. For example, if the library provides the ++# option NO_MULTI_THREADED, and one of the features provided is ++# MULTI_THREADED, this macro will essentially be a no-op. ++macro(boost_library_variant LIBNAME) ++ set(THIS_VARIANT_COMPILE_FLAGS "${THIS_LIB_COMPILE_FLAGS}") ++ set(THIS_VARIANT_LINK_FLAGS "${THIS_LIB_LINK_FLAGS}") ++ set(THIS_VARIANT_LINK_LIBS ${THIS_LIB_LINK_LIBS}) ++ ++ # Determine if it is okay to build this variant ++ set(THIS_VARIANT_OKAY TRUE) ++ foreach(ARG ${ARGN}) ++ # If the library itself stated that we cannot build this variant, ++ # don't. For example, we're trying to build a shared library ++ # variant, but the user specified NO_SHARED in the requirements of ++ # the library. ++ if (THIS_LIB_NO_${ARG}) ++ set(THIS_VARIANT_OKAY FALSE) ++ set(SELECT_VARIANT_FAILURE_REASONS "NO_${ARG}") ++ endif (THIS_LIB_NO_${ARG}) ++ ++ # If the user specified that we should not build any variants of ++ # this kind, don't. For example, if the ENABLE_SHARED option is ++ # off, don't build shared libraries. ++ if(NOT ENABLE_${ARG}) ++ set(THIS_VARIANT_OKAY FALSE) ++ set(SELECT_VARIANT_FAILURE_REASONS "variant disabled because ENABLE_${ARG} is OFF") ++ endif(NOT ENABLE_${ARG}) ++ ++ # Accumulate compile and link flags ++ set(THIS_VARIANT_COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS} ${THIS_LIB_${ARG}_COMPILE_FLAGS} ${${ARG}_COMPILE_FLAGS}") ++ set(THIS_VARIANT_LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS} ${THIS_LIB_${ARG}_LINK_FLAGS} ${${ARG}_LINK_FLAGS}") ++ set(THIS_VARIANT_LINK_LIBS ${THIS_VARIANT_LINK_LIBS} ${THIS_LIB_${ARG}_LINK_LIBS} ${${ARG}_LINK_LIBS}) ++ endforeach(ARG ${ARGN}) ++ ++ # message("boost_library_variant(${LIBNAME} ${ARGN})") ++ ++ # Handle feature interactions ++ boost_feature_interactions("THIS_VARIANT" ${ARGN}) ++ boost_library_variant_target_name(${ARGN}) ++ # Determine the suffix for this library target ++ set(VARIANT_LIBNAME "${LIBNAME}${VARIANT_TARGET_NAME}") ++ trace(VARIANT_LIBNAME) ++ ++ set(DEPENDENCY_FAILURES "") ++ foreach(dep ${THIS_LIB_DEPENDS}) ++ trace(dep) ++ dependency_check("${dep}${VARIANT_TARGET_NAME}") ++ endforeach() ++ trace(THIS_VARIANT_OKAY) ++ trace(DEPENDENCY_FAILURES) ++ ++ # ++ # Announce dependency failures only if this variant ++ # is otherwise OK ++ # ++ if(THIS_VARIANT_OKAY AND DEPENDENCY_FAILURES) ++ set(THIS_VARIANT_OKAY FALSE) ++ # separate_arguments(DEPENDENCY_FAILURES) ++ colormsg(HIRED " ${LIBNAME}${VARIANT_TARGET_NAME}" RED "(library) disabled due to dependency failures:") ++ foreach (depfail ${DEPENDENCY_FAILURES}) ++ colormsg(RED " " YELLOW "${depfail}") ++ endforeach() ++ endif() ++ ++ if (THIS_VARIANT_OKAY) ++ ++ # We handle static vs. dynamic libraries differently ++ list_contains(THIS_LIB_IS_STATIC "STATIC" ${ARGN}) ++ ++ if (THIS_LIB_IS_STATIC) ++ ++ add_library(${VARIANT_LIBNAME} STATIC ${THIS_LIB_SOURCES}) ++ ++ # On Windows, we need static and shared libraries to have ++ # different names, so we follow the Boost.Build version 2 style ++ # and prepend "lib" to the name. ++ if(WIN32 AND NOT (CYGWIN OR MINGW)) ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ PREFIX "${LIBPREFIX}" ++ ) ++ endif() ++ ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ OUTPUT_NAME "${LIBNAME}${VARIANT_VERSIONED_NAME}" ++ CLEAN_DIRECT_OUTPUT 1 ++ COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}" ++ LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}" ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ ++ elseif (THIS_LIB_MODULE) ++ ++ add_library(${VARIANT_LIBNAME} MODULE ${THIS_LIB_SOURCES}) ++ ++ # ++ # You don't set SOVERSION here... nothing links "to" these things ++ # ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ OUTPUT_NAME ${LIBNAME} ++ CLEAN_DIRECT_OUTPUT 1 ++ COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}" ++ LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}" ++ LABELS "${BOOST_PROJECT_NAME}" ++ PREFIX "" ++ ) ++ ++ else () # shared ++ ++ add_library(${VARIANT_LIBNAME} SHARED ${THIS_LIB_SOURCES}) ++ ++ if(MINGW) ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ PREFIX "" ++ ) ++ endif() ++ ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ OUTPUT_NAME "${LIBNAME}${VARIANT_VERSIONED_NAME}" ++ CLEAN_DIRECT_OUTPUT 1 ++ COMPILE_FLAGS "${THIS_VARIANT_COMPILE_FLAGS}" ++ LINK_FLAGS "${THIS_VARIANT_LINK_FLAGS}" ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ ++ if (BUILD_SOVERSIONED) ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ SOVERSION "${BOOST_VERSION}" ++ ) ++ endif() ++ endif () ++ ++ # The basic LIBNAME target depends on each of the variants ++ add_dependencies(${LIBNAME} ${VARIANT_LIBNAME}) ++ ++ # Link against whatever libraries this library depends on ++ target_link_libraries(${VARIANT_LIBNAME} ${THIS_VARIANT_LINK_LIBS}) ++ ++ foreach(d ${THIS_LIB_DEPENDS}) ++ # message(STATUS "linking ${d}") ++ target_link_libraries(${VARIANT_LIBNAME} "${d}${VARIANT_TARGET_NAME}") ++ endforeach() ++ ++ export(TARGETS ${VARIANT_LIBNAME} ++ APPEND ++ FILE ${BOOST_EXPORTS_FILE}) ++ ++ if(NOT THIS_LIB_NO_INSTALL) ++ # Setup installation properties ++ string(TOLOWER "${BOOST_PROJECT_NAME}${VARIANT_TARGET_NAME}" LIB_COMPONENT) ++ string(REPLACE "-" "_" LIB_COMPONENT ${LIB_COMPONENT}) ++ ++ # Installation of this library variant ++ string(TOLOWER ${BOOST_PROJECT_NAME} libname) ++ ++ # ++ # tds: componentization disabled for the moment ++ # ++ install(TARGETS ${VARIANT_LIBNAME} ++ EXPORT Boost ++ DESTINATION ${BOOST_LIB_INSTALL_DIR} ++ COMPONENT Boost) #${LIB_COMPONENT}) ++ ++ # set_property( ++ # TARGET ${VARIANT_LIBNAME} ++ # PROPERTY BOOST_CPACK_COMPONENT ++ # ${LIB_COMPONENT}) ++ ++ # Make the library installation component dependent on the library ++ # installation components of dependent libraries. ++ trace(THIS_LIB_DEPENDS) ++ set(THIS_LIB_COMPONENT_DEPENDS) ++ foreach(DEP ${THIS_LIB_DEPENDS}) ++ # We ask the library variant that this library depends on to tell us ++ # what it's associated installation component is. We depend on that ++ # installation component. ++ get_property(DEP_COMPONENT ++ TARGET "${DEP}${VARIANT_TARGET_NAME}" ++ PROPERTY BOOST_CPACK_COMPONENT) ++ ++ if (DEP_COMPONENT) ++ if (DEP_COMPONENT STREQUAL LIB_COMPONENT) ++ # Do nothing: we have library dependencies within one ++ # Boost library ++ else() ++ list(APPEND THIS_LIB_COMPONENT_DEPENDS ${DEP_COMPONENT}) ++ endif() ++ endif() ++ endforeach(DEP) ++ ++ if (COMMAND cpack_add_component) ++ fix_cpack_component_name(CPACK_COMPONENT_GROUP_NAME ${libname}) ++ cpack_add_component(${LIB_COMPONENT} ++ DISPLAY_NAME "${VARIANT_DISPLAY_NAME}" ++ GROUP ${CPACK_COMPONENT_GROUP_NAME} ++ DEPENDS ${THIS_LIB_COMPONENT_DEPENDS}) ++ endif () ++ endif(NOT THIS_LIB_NO_INSTALL) ++ endif () ++endmacro(boost_library_variant) ++ ++# Updates the set of default build variants to account for variations ++# in the given feature. ++# ++# boost_add_default_variant(feature-val1 feature-val2 ...) ++# ++# Each new feature creates a new set of build variants using that ++# feature. For example, writing: ++# ++# boost_add_default_variant(SINGLE_THREADED MULTI_THREADED) ++# ++# will create single- and multi-threaded variants of every default ++# library variant already defined, doubling the number of variants ++# that will be built. See the top-level CMakeLists.txt for the set of ++# default variants. ++# ++# Variables affected: ++# ++# BOOST_DEFAULT_VARIANTS: ++# This variable describes all of the variants that will be built ++# by default, and will be updated with each invocation of ++# boost_add_default_variant. The variable itself is a list, where ++# each element in the list contains a colon-separated string ++# naming a specific set of features for that variant, e.g., ++# STATIC:DEBUG:SINGLE_THREADED. ++# ++# BOOST_FEATURES: ++# This variable describes all of the feature sets that we know about, ++# and will be extended each time ither boost_add_default_variant or ++# boost_add_extra_variant is invoked. This macro will contain a list ++# of feature sets, each containing the values for a given feature ++# separated by colons, e.g., "DEBUG:RELEASE". ++# ++# BOOST_ADD_ARG_NAMES: ++# This variable describes all of the feature-specific arguments ++# that can be used for the boost_add_library macro, separated by ++# semicolons. For example, given the use of ++# boost_add_default_variant above, this variable will contain (at ++# least) ++# ++# SINGLE_THREADED_COMPILE_FLAGS;SINGLE_THREADED_LINK_FLAGS; ++# MULTI_THREADED_COMPILE_FLAGS;MULTI_THREADED_LINK_FLAGS ++# ++# When this variable is used in boost_add_library, it turns these ++# names into feature-specific options. For example, ++# MULTI_THREADED_COMPILE_FLAGS provides extra compile flags to be ++# used only for multi-threaded variants of the library. ++# ++# BOOST_ADDLIB_OPTION_NAMES: ++# Like BOOST_ADD_ARG_NAMES, this variable describes ++# feature-specific options to boost_add_library that can be used to ++# turn off building of the library when the variant would require ++# certain features. For example, the NO_SINGLE_THREADED option ++# turns off building of single-threaded variants for a library. ++# ++# BOOST_ADDEXE_OPTION_NAMES: ++# Like BOOST_ADDLIB_OPTION_NAMES, except that that variable ++# describes options to boost_add_executable that can be used to ++# describe which features are needed to build the executable. ++# For example, the MULTI_THREADED option requires that the ++# executable be built against multi-threaded libraries and with ++# multi-threaded options. ++macro(boost_add_default_variant) ++ # Update BOOST_DEFAULT_VARIANTS ++ if (BOOST_DEFAULT_VARIANTS) ++ set(BOOST_DEFAULT_VARIANTS_ORIG ${BOOST_DEFAULT_VARIANTS}) ++ set(BOOST_DEFAULT_VARIANTS) ++ foreach(VARIANT ${BOOST_DEFAULT_VARIANTS_ORIG}) ++ foreach(FEATURE ${ARGN}) ++ list(APPEND BOOST_DEFAULT_VARIANTS "${VARIANT}:${FEATURE}") ++ endforeach(FEATURE ${ARGN}) ++ endforeach(VARIANT ${BOOST_DEFAULT_VARIANTS_ORIG}) ++ set(BOOST_DEFAULT_VARIANTS_ORIG) ++ else (BOOST_DEFAULT_VARIANTS) ++ set(BOOST_DEFAULT_VARIANTS ${ARGN}) ++ endif (BOOST_DEFAULT_VARIANTS) ++ ++ # Set Feature flag options used by the boost_library macro and the ++ # BOOST_FEATURES variable ++ set(BOOST_DEFVAR_FEATURES) ++ foreach(FEATURE ${ARGN}) ++ set(BOOST_ADD_ARG_NAMES ++ "${BOOST_ADD_ARG_NAMES};${FEATURE}_COMPILE_FLAGS;${FEATURE}_LINK_FLAGS;${FEATURE}_LINK_LIBS") ++ set(BOOST_ADDLIB_OPTION_NAMES "${BOOST_ADDLIB_OPTION_NAMES};NO_${FEATURE}") ++ set(BOOST_ADDEXE_OPTION_NAMES "${BOOST_ADDEXE_OPTION_NAMES};${FEATURE}") ++ if (BOOST_DEFVAR_FEATURES) ++ set(BOOST_DEFVAR_FEATURES "${BOOST_DEFVAR_FEATURES}:${FEATURE}") ++ else (BOOST_DEFVAR_FEATURES) ++ set(BOOST_DEFVAR_FEATURES "${FEATURE}") ++ endif (BOOST_DEFVAR_FEATURES) ++ endforeach(FEATURE ${ARGN}) ++ list(APPEND BOOST_FEATURES ${BOOST_DEFVAR_FEATURES}) ++endmacro(boost_add_default_variant) ++ ++# Updates the set of "extra" build variants, which may be used to ++# generate extra, library-specific variants of libraries. ++# ++# boost_add_extra_variant(feature-val1 feature-val2 ...) ++# ++# Each extra viarant makes it possible for libraries to define extra ++# variants. For example, writing: ++# ++# boost_add_extra_variant(PYTHON_NODEBUG PYTHON_DEBUG) ++# ++# creates a PYTHON_NODEBUG/PYTHON_DEBUG feature pair as an extra ++# variant, used by the Boost.Python library, which generates separate ++# variants of the Boost.Python library: one variant uses the Python ++# debug libraries, the other does not. ++# ++# The difference between boost_add_default_variant and ++# boost_add_extra_variant is that adding a new default variant ++# introduces additional variants to *all* Boost libraries, unless ++# those variants are explicitly excluded by the library. Adding a new ++# extra variant, on the other hand, allows libraries to specifically ++# request extra variants using that feature. ++# ++# Variables affected: ++# ++# BOOST_FEATURES: ++# See boost_add_default_variant. ++# ++# BOOST_ADD_ARG_NAMES: ++# See boost_add_default_variant. ++# ++# BOOST_ADDLIB_OPTION_NAMES: ++# See boost_add_default_variant. ++# ++# BOOST_ADDEXE_OPTION_NAMES: ++# See boost_add_default_variant. ++macro(boost_add_extra_variant) ++ set(BOOST_EXTVAR_FEATURES) ++ foreach(FEATURE ${ARGN}) ++ set(BOOST_ADD_ARG_NAMES ++ "${BOOST_ADD_ARG_NAMES};${FEATURE}_COMPILE_FLAGS;${FEATURE}_LINK_FLAGS;${FEATURE}_LINK_LIBS") ++ set(BOOST_ADDLIB_OPTION_NAMES "${BOOST_ADDLIB_OPTION_NAMES};NO_${FEATURE}") ++ set(BOOST_ADDEXE_OPTION_NAMES "${BOOST_ADDEXE_OPTION_NAMES};${FEATURE}") ++ if (BOOST_EXTVAR_FEATURES) ++ set(BOOST_EXTVAR_FEATURES "${BOOST_EXTVAR_FEATURES}:${FEATURE}") ++ else (BOOST_EXTVAR_FEATURES) ++ set(BOOST_EXTVAR_FEATURES "${FEATURE}") ++ endif (BOOST_EXTVAR_FEATURES) ++ endforeach(FEATURE ${ARGN}) ++ list(APPEND BOOST_FEATURES ${BOOST_EXTVAR_FEATURES}) ++endmacro(boost_add_extra_variant) ++ ++# Compute the variant that will be used to build this executable or ++# module, taking into account both the requested features passed to ++# boost_add_executable or boost_add_library and what options the user ++# has set. ++macro(boost_select_variant NAME PREFIX) ++ set(${PREFIX}_DEBUG_AND_RELEASE FALSE) ++ set(SELECT_VARIANT_OKAY TRUE) ++ set(SELECT_VARIANT_FAILURE_REASONS) ++ set(${PREFIX}_VARIANT) ++ ++ foreach(FEATURESET_STR ${BOOST_FEATURES}) ++ trace(FEATURESET_STR) ++ ++ string(REPLACE ":" ";" FEATURESET ${FEATURESET_STR}) ++ separate_arguments(FEATURESET) ++ set(${PREFIX}_REQUESTED_FROM_SET FALSE) ++ foreach (FEATURE ${FEATURESET}) ++ trace(FEATURE) ++ ++ if (${PREFIX}_${FEATURE} AND ENABLE_${FEATURE}) ++ trace(${PREFIX}_${FEATURE}) ++ set(${PREFIX}_REQUESTED_FROM_SET TRUE) ++ list(APPEND ${PREFIX}_VARIANT ${FEATURE}) ++ endif() ++ ++ # if ((NOT userpref_selected) AND ENABLE_${FEATURE}) ++ # # message("YES ${PREFIX}_${FEATURE}") ++ # # Make this feature part of the variant ++ # list(APPEND ${PREFIX}_VARIANT ${FEATURE}) ++ # set(${PREFIX}_REQUESTED_FROM_SET TRUE) ++ # ++ # # The caller has requested this particular feature be used ++ # # when building the executable or module. If we can't satisfy ++ # # that request (because the user has turned off the build ++ # # variants with that feature), then we won't build this ++ # # executable or module. ++ # if (NOT ENABLE_${FEATURE}) ++ # message("NOT ENABLE_${FEATURE}") ++ # set(SELECT_VARIANT_OKAY FALSE) ++ # list(APPEND SELECT_VARIANT_FAILURE_REASONS ++ # "ENABLE_${FEATURE} iz FALSE") ++ # else() ++ # set(unselected FALSE) ++ # endif() ++ # endif() ++ endforeach() ++ ++ if (NOT ${PREFIX}_REQUESTED_FROM_SET) ++ # The caller did not specify which feature value to use from ++ # this set, so find the first feature value that actually works. ++ set(${PREFIX}_FOUND_FEATURE FALSE) ++ ++ trace(${PREFIX}_FOUND_FEATURE) ++ # If this feature set decides between Release and Debug, we ++ # either query CMAKE_BUILD_TYPE to determine which to use (for ++ # makefile targets) or handle both variants separately (for IDE ++ # targets). We only build both variants separately for executable targets. ++ if (FEATURESET_STR STREQUAL "RELEASE:DEBUG") ++ trace(CMAKE_CONFIGURATION_TYPES) ++ if (CMAKE_CONFIGURATION_TYPES) ++ # IDE target: can we build both debug and release? ++ if (ENABLE_DEBUG AND ENABLE_RELEASE) ++ if (${PREFIX} STREQUAL "THIS_EXE") ++ # Remember that we're capable of building both configurations ++ set(${PREFIX}_DEBUG_AND_RELEASE TRUE) ++ ++ # Don't add RELEASE or DEBUG to the variant (yet) ++ set(${PREFIX}_FOUND_FEATURE TRUE) ++ endif () ++ endif () ++ else () ++ # Makefile target: CMAKE_BUILD_TYPE tells us which variant to build ++ trace(CMAKE_BUILD_TYPE) ++ if (CMAKE_BUILD_TYPE STREQUAL "Release" AND ENABLE_RELEASE) ++ # Okay, build the release variant ++ list(APPEND ${PREFIX}_VARIANT RELEASE) ++ set(${PREFIX}_FOUND_FEATURE TRUE) ++ elseif (CMAKE_BUILD_TYPE STREQUAL "Debug" AND ENABLE_DEBUG) ++ # Okay, build the debug variant ++ list(APPEND ${PREFIX}_VARIANT DEBUG) ++ set(${PREFIX}_FOUND_FEATURE TRUE) ++ endif () ++ endif () ++ endif () ++ ++ # Search through all of the features in the set to find one that works ++ foreach (FEATURE ${FEATURESET}) ++ # We only care about the first feature value we find... ++ if (NOT ${PREFIX}_FOUND_FEATURE) ++ # Are we allowed to build this feature? ++ if (ENABLE_${FEATURE}) ++ # Found it: we're done ++ list(APPEND ${PREFIX}_VARIANT ${FEATURE}) ++ set(${PREFIX}_FOUND_FEATURE TRUE) ++ endif (ENABLE_${FEATURE}) ++ endif (NOT ${PREFIX}_FOUND_FEATURE) ++ endforeach (FEATURE ${FEATURESET}) ++ ++ if (NOT ${PREFIX}_FOUND_FEATURE) ++ # All of the features in this set were turned off. ++ # Just don't build anything. ++ set(SELECT_VARIANT_OKAY FALSE) ++ # message("NOT ${PREFIX}_FOUND_FEATURE") ++ endif (NOT ${PREFIX}_FOUND_FEATURE) ++ endif (NOT ${PREFIX}_REQUESTED_FROM_SET) ++ endforeach(FEATURESET_STR ${BOOST_FEATURES}) ++ ++ # Propagate flags from each of the features ++ if (SELECT_VARIANT_OKAY) ++ foreach (FEATURE ${${PREFIX}_VARIANT}) ++ # Add all of the flags for this feature ++ set(${PREFIX}_COMPILE_FLAGS ++ "${${PREFIX}_COMPILE_FLAGS} ${${PREFIX}_${FEATURE}_COMPILE_FLAGS} ${${FEATURE}_COMPILE_FLAGS}") ++ set(${PREFIX}_LINK_FLAGS ++ "${${PREFIX}_LINK_FLAGS} ${${PREFIX}_${FEATURE}_LINK_FLAGS} ${${FEATURE}_LINK_FLAGS}") ++ if (${PREFIX} STREQUAL "THIS_EXE") ++ set(${PREFIX}_LINK_FLAGS ++ "${${PREFIX}_LINK_FLAGS} ${${FEATURE}_EXE_LINK_FLAGS}") ++ endif() ++ set(${PREFIX}_LINK_LIBS ++ ${${PREFIX}_LINK_LIBS} ${${PREFIX}_${FEATURE}_LINK_LIBS} ${${FEATURE}_LINK_LIBS}) ++ endforeach (FEATURE ${${PREFIX}_VARIANT}) ++ ++ # Handle feature interactions ++ boost_feature_interactions("${PREFIX}" ${${PREFIX}_VARIANT}) ++ else () ++ set(${PREFIX}_VARIANT) ++ endif () ++endmacro(boost_select_variant) ++ ++# Creates a new Boost library target that generates a compiled library ++# (.a, .lib, .dll, .so, etc) from source files. This routine will ++# actually build several different variants of the same library, with ++# different compilation options, as determined by the set of "default" ++# library variants. ++# ++# boost_add_library(libname ++# source1 source2 ... ++# [COMPILE_FLAGS compileflags] ++# [feature_COMPILE_FLAGS compileflags] ++# [LINK_FLAGS linkflags] ++# [feature_LINK_FLAGS linkflags] ++# [LINK_LIBS linklibs] ++# [feature_LINK_LIBS linklibs] ++# [DEPENDS libdepend1 libdepend2 ...] ++# [MODULE] ++# [NO_feature] ++# [EXTRA_VARIANTS variant1 variant2 ...] ++# [FORCE_VARIANTS variant1]) ++# ++# where libname is the name of Boost library binary (e.g., ++# "boost_regex") and source1, source2, etc. are the source files used ++# to build the library, e.g., cregex.cpp. ++# ++# This macro has a variety of options that affect its behavior. In ++# several cases, we use the placeholder "feature" in the option name ++# to indicate that there are actually several different kinds of ++# options, each referring to a different build feature, e.g., shared ++# libraries, multi-threaded, debug build, etc. For a complete listing ++# of these features, please refer to the CMakeLists.txt file in the ++# root of the Boost distribution, which defines the set of features ++# that will be used to build Boost libraries by default. ++# ++# The options that affect this macro's behavior are: ++# ++# COMPILE_FLAGS: Provides additional compilation flags that will be ++# used when building all variants of the library. For example, one ++# might want to add "-DBOOST_SIGNALS_NO_LIB=1" through this option ++# (which turns off auto-linking for the Signals library while ++# building it). ++# ++# feature_COMPILE_FLAGS: Provides additional compilation flags that ++# will be used only when building variants of the library that ++# include the given feature. For example, ++# MULTI_THREADED_COMPILE_FLAGS are additional flags that will be ++# used when building a multi-threaded variant, while ++# SHARED_COMPILE_FLAGS will be used when building a shared library ++# (as opposed to a static library). ++# ++# LINK_FLAGS: Provides additional flags that will be passed to the ++# linker when linking each variant of the library. This option ++# should not be used to link in additional libraries; see LINK_LIBS ++# and DEPENDS. ++# ++# feature_LINK_FLAGS: Provides additional flags that will be passed ++# to the linker when building variants of the library that contain a ++# specific feature, e.g., MULTI_THREADED_LINK_FLAGS. This option ++# should not be used to link in additional libraries; see ++# feature_LINK_LIBS. ++# ++# LINK_LIBS: Provides additional libraries against which each of the ++# library variants will be linked. For example, one might provide ++# "expat" as options to LINK_LIBS, to state that each of the library ++# variants will link against the expat library binary. Use LINK_LIBS ++# for libraries external to Boost; for Boost libraries, use DEPENDS. ++# ++# feature_LINK_LIBS: Provides additional libraries for specific ++# variants of the library to link against. For example, ++# MULTI_THREADED_LINK_LIBS provides extra libraries to link into ++# multi-threaded variants of the library. ++# ++# DEPENDS: States that this Boost library depends on and links ++# against another Boost library. The arguments to DEPENDS should be ++# the unversioned name of the Boost library, such as ++# "boost_filesystem". Like LINK_LIBS, this option states that all ++# variants of the library being built will link against the stated ++# libraries. Unlike LINK_LIBS, however, DEPENDS takes particular ++# library variants into account, always linking the variant of one ++# Boost library against the same variant of the other Boost ++# library. For example, if the boost_mpi_python library DEPENDS on ++# boost_python, multi-threaded variants of boost_mpi_python will ++# link against multi-threaded variants of boost_python. ++# ++# MODULE: This option states that, when building a shared library, ++# the shared library should be built as a module rather than a ++# normal shared library. Modules have special meaning an behavior on ++# some platforms, such as Mac OS X. ++# ++# NO_feature: States that library variants containing a particular ++# feature should not be built. For example, passing ++# NO_SINGLE_THREADED suppresses generation of single-threaded ++# variants of this library. ++# ++# EXTRA_VARIANTS: Specifies that extra variants of this library ++# should be built, based on the features listed. Each "variant" is a ++# colon-separated list of features. For example, passing ++# EXTRA_VARIANTS "PYTHON_NODEBUG:PYTHON_DEBUG" ++# will result in the creation of an extra set of library variants, ++# some with the PYTHON_NODEBUG feature and some with the ++# PYTHON_DEBUG feature. ++# ++# FORCE_VARIANTS: This will force the build system to ALWAYS build this ++# variant of the library not matter what variants are set. ++# ++# Example: ++# boost_add_library( ++# boost_thread ++# barrier.cpp condition.cpp exceptions.cpp mutex.cpp once.cpp ++# recursive_mutex.cpp thread.cpp tss_hooks.cpp tss_dll.cpp tss_pe.cpp ++# tss.cpp xtime.cpp ++# SHARED_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_DLL=1" ++# STATIC_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB=1" ++# NO_SINGLE_THREADED ++# ) ++macro(boost_add_library SHORT_LIBNAME) ++ set(LIBNAME "boost_${SHORT_LIBNAME}") ++ parse_arguments(THIS_LIB ++ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;EXTRA_VARIANTS;FORCE_VARIANTS;${BOOST_ADD_ARG_NAMES}" ++ "MODULE;NO_INSTALL;${BOOST_ADDLIB_OPTION_NAMES}" ++ ${ARGN} ++ ) ++ ++ set(THIS_LIB_SOURCES ${THIS_LIB_DEFAULT_ARGS}) ++ ++ # ++ # cmake BoostConfig.cmake generation needs to know which ++ # libraries are available ++ # ++ set(BOOST_ALL_COMPONENTS ${SHORT_LIBNAME} ${BOOST_ALL_COMPONENTS} ++ PARENT_SCOPE) ++ ++ # A top-level target that refers to all of the variants of the ++ # library, collectively. ++ add_custom_target(${LIBNAME}) ++ ++ if (THIS_LIB_EXTRA_VARIANTS) ++ # Build the set of variants that we will generate for this library ++ set(THIS_LIB_VARIANTS) ++ foreach(VARIANT ${BOOST_DEFAULT_VARIANTS}) ++ foreach(EXTRA_VARIANT ${THIS_LIB_EXTRA_VARIANTS}) ++ string(REPLACE ":" ";" FEATURES "${EXTRA_VARIANT}") ++ separate_arguments(FEATURES) ++ foreach(FEATURE ${FEATURES}) ++ list(APPEND THIS_LIB_VARIANTS "${VARIANT}:${FEATURE}") ++ endforeach(FEATURE ${FEATURES}) ++ endforeach(EXTRA_VARIANT ${THIS_LIB_EXTRA_VARIANTS}) ++ endforeach(VARIANT ${BOOST_DEFAULT_VARIANTS}) ++ else (THIS_LIB_EXTRA_VARIANTS) ++ set(THIS_LIB_VARIANTS ${BOOST_DEFAULT_VARIANTS}) ++ endif (THIS_LIB_EXTRA_VARIANTS) ++ ++ if (THIS_LIB_FORCE_VARIANTS) ++ # string(TOUPPER "${LIBNAME}_FORCE_VARIANTS" force_variants) ++ # set(${force_variants} ${THIS_LIB_FORCE_VARIANTS} CACHE INTERNAL "") ++ set(ENABLE_${THIS_LIB_FORCE_VARIANTS}_PREV ${ENABLE_${THIS_LIB_FORCE_VARIANTS}} ) ++ set(ENABLE_${THIS_LIB_FORCE_VARIANTS} TRUE) ++ endif (THIS_LIB_FORCE_VARIANTS) ++ ++ # Build each of the library variants ++ foreach(VARIANT_STR ${THIS_LIB_VARIANTS}) ++ string(REPLACE ":" ";" VARIANT ${VARIANT_STR}) ++ separate_arguments(VARIANT) ++ # message("VARIANT=${VARIANT}") ++ boost_library_variant(${LIBNAME} ${VARIANT}) ++ endforeach(VARIANT_STR ${THIS_LIB_VARIANTS}) ++ ++ if (THIS_LIB_FORCE_VARIANTS) ++ set(ENABLE_${THIS_LIB_FORCE_VARIANTS} ${ENABLE_${THIS_LIB_FORCE_VARIANTS}_PREV} ) ++ # message(STATUS "* ^^ ENABLE_${THIS_LIB_FORCE_VARIANTS} ${ENABLE_${THIS_LIB_FORCE_VARIANTS}}") ++ endif (THIS_LIB_FORCE_VARIANTS) ++endmacro(boost_add_library) ++ ++# Creates a new executable from source files. ++# ++# boost_add_executable(exename ++# source1 source2 ... ++# [COMPILE_FLAGS compileflags] ++# [feature_COMPILE_FLAGS compileflags] ++# [LINK_FLAGS linkflags] ++# [feature_LINK_FLAGS linkflags] ++# [LINK_LIBS linklibs] ++# [feature_LINK_LIBS linklibs] ++# [DEPENDS libdepend1 libdepend2 ...] ++# [feature] ++# [NO_INSTALL]) ++# ++# where exename is the name of the executable (e.g., "wave"). source1, ++# source2, etc. are the source files used to build the executable, e.g., ++# cpp.cpp. If no source files are provided, "exename.cpp" will be ++# used. ++# ++# This macro has a variety of options that affect its behavior. In ++# several cases, we use the placeholder "feature" in the option name ++# to indicate that there are actually several different kinds of ++# options, each referring to a different build feature, e.g., shared ++# libraries, multi-threaded, debug build, etc. For a complete listing ++# of these features, please refer to the CMakeLists.txt file in the ++# root of the Boost distribution, which defines the set of features ++# that will be used to build Boost libraries by default. ++# ++# The options that affect this macro's behavior are: ++# ++# COMPILE_FLAGS: Provides additional compilation flags that will be ++# used when building the executable. ++# ++# feature_COMPILE_FLAGS: Provides additional compilation flags that ++# will be used only when building the executable with the given ++# feature (e.g., SHARED_COMPILE_FLAGS when we're linking against ++# shared libraries). Note that the set of features used to build the ++# executable depends both on the arguments given to ++# boost_add_executable (see the "feature" argument description, ++# below) and on the user's choice of variants to build. ++# ++# LINK_FLAGS: Provides additional flags that will be passed to the ++# linker when linking the executable. This option should not be used ++# to link in additional libraries; see LINK_LIBS and DEPENDS. ++# ++# feature_LINK_FLAGS: Provides additional flags that will be passed ++# to the linker when linking the executable with the given feature ++# (e.g., MULTI_THREADED_LINK_FLAGS when we're linking a ++# multi-threaded executable). ++# ++# LINK_LIBS: Provides additional libraries against which the ++# executable will be linked. For example, one might provide "expat" ++# as options to LINK_LIBS, to state that the executable will link ++# against the expat library binary. Use LINK_LIBS for libraries ++# external to Boost; for Boost libraries, use DEPENDS. ++# ++# feature_LINK_LIBS: Provides additional libraries to link against ++# when linking an executable built with the given feature. ++# ++# DEPENDS: States that this executable depends on and links against ++# a Boostlibrary. The arguments to DEPENDS should be the unversioned ++# name of the Boost library, such as "boost_filesystem". Like ++# LINK_LIBS, this option states that the executable will link ++# against the stated libraries. Unlike LINK_LIBS, however, DEPENDS ++# takes particular library variants into account, always linking to ++# the appropriate variant of a Boost library. For example, if the ++# MULTI_THREADED feature was requested in the call to ++# boost_add_executable, DEPENDS will ensure that we only link ++# against multi-threaded libraries. ++# ++# feature: States that the executable should always be built using a ++# given feature, e.g., SHARED linking (against its libraries) or ++# MULTI_THREADED (for multi-threaded builds). If that feature has ++# been turned off by the user, the executable will not build. ++# ++# NO_INSTALL: Don't install this executable with the rest of Boost. ++# ++# OUTPUT_NAME: If you want the executable to be generated somewhere ++# other than the binary directory, pass the path (including ++# directory and file name) via the OUTPUT_NAME parameter. ++# ++# Example: ++# boost_add_executable(wave cpp.cpp ++# DEPENDS boost_wave boost_program_options boost_filesystem ++# boost_serialization ++# ) ++macro(boost_add_executable EXENAME) ++ # Note: ARGS is here to support the use of boost_add_executable in ++ # the testing code. ++ parse_arguments(THIS_EXE ++ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;OUTPUT_NAME;ARGS;TARGET_PREFIX;${BOOST_ADD_ARG_NAMES}" ++ "NO_INSTALL;${BOOST_ADDEXE_OPTION_NAMES}" ++ ${ARGN} ++ ) ++ ++ # Determine the list of sources ++ if (THIS_EXE_DEFAULT_ARGS) ++ set(THIS_EXE_SOURCES ${THIS_EXE_DEFAULT_ARGS}) ++ else (THIS_EXE_DEFAULT_ARGS) ++ set(THIS_EXE_SOURCES ${EXENAME}.cpp) ++ endif (THIS_EXE_DEFAULT_ARGS) ++ ++ # Whether we can build both debug and release versions of this ++ # executable within an IDE (based on the selected configuration ++ # type). ++ set(THIS_EXE_DEBUG_AND_RELEASE FALSE) ++ ++ # Compute the variant that will be used to build this executable, ++ # taking into account both the requested features passed to ++ # boost_add_executable and what options the user has set. ++ boost_select_variant(${EXENAME} THIS_EXE) ++ ++ # message("THIS_EXE_VARIANT=${THIS_EXE_VARIANT}") ++ # Possibly hyphenate exe's name ++ if (THIS_PROJECT_IS_TOOL) ++ set(THIS_EXE_NAME ${THIS_EXE_TARGET_PREFIX}${EXENAME}) ++ else() ++ set(THIS_EXE_NAME ${BOOST_PROJECT_NAME}-${THIS_EXE_TARGET_PREFIX}${EXENAME}) ++ endif() ++ ++ # Compute the name of the variant targets that we'll be linking ++ # against. We'll use this to link against the appropriate ++ # dependencies. For IDE targets where we can build both debug and ++ # release configurations, create DEBUG_ and RELEASE_ versions of ++ # the macros. ++ if (THIS_EXE_DEBUG_AND_RELEASE) ++ boost_library_variant_target_name(RELEASE ${THIS_EXE_VARIANT}) ++ set(RELEASE_VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}") ++ boost_library_variant_target_name(DEBUG ${THIS_EXE_VARIANT}) ++ set(DEBUG_VARIANT_TARGET_NAME "${VARIANT_TARGET_NAME}") ++ else (THIS_EXE_DEBUG_AND_RELEASE) ++ boost_library_variant_target_name(${THIS_EXE_VARIANT}) ++ endif (THIS_EXE_DEBUG_AND_RELEASE) ++ ++ # Compute the actual set of library dependencies, based on the ++ # variant name we computed above. The RELEASE and DEBUG versions ++ # only apply when THIS_EXE_DEBUG_AND_RELEASE. ++ set(THIS_EXE_ACTUAL_DEPENDS) ++ set(THIS_EXE_RELEASE_ACTUAL_DEPENDS) ++ set(THIS_EXE_DEBUG_ACTUAL_DEPENDS) ++ set(DEPENDENCY_FAILURES "") ++ foreach(LIB ${THIS_EXE_DEPENDS}) ++ if (LIB MATCHES ".*-.*") ++ # The user tried to state exactly which variant to use. Just ++ # propagate the dependency and hope that s/he was ++ # right. Eventually, this should at least warn, because it is ++ # not the "proper" way to do things ++ list(APPEND THIS_EXE_ACTUAL_DEPENDS ${LIB}) ++ list(APPEND THIS_EXE_RELEASE_ACTUAL_DEPENDS ${LIB}) ++ list(APPEND THIS_EXE_DEBUG_ACTUAL_DEPENDS ${LIB}) ++ dependency_check(${LIB}) ++ else () ++ # The user has given the name of just the library target, ++ # e.g., "boost_filesystem". We add on the appropriate variant ++ # name(s). ++ list(APPEND THIS_EXE_ACTUAL_DEPENDS "${LIB}${VARIANT_TARGET_NAME}") ++ list(APPEND THIS_EXE_RELEASE_ACTUAL_DEPENDS "${LIB}${RELEASE_VARIANT_TARGET_NAME}") ++ list(APPEND THIS_EXE_DEBUG_ACTUAL_DEPENDS "${LIB}${DEBUG_VARIANT_TARGET_NAME}") ++ if(THIS_EXE_RELEASE_AND_DEBUG) ++ dependency_check("${LIB}${RELEASE_VARIANT_TARGET_NAME}") ++ dependency_check("${LIB}${DEBUG_VARIANT_TARGET_NAME}") ++ else() ++ dependency_check("${LIB}${VARIANT_TARGET_NAME}") ++ endif() ++ endif () ++ endforeach() ++ ++ set(THIS_EXE_OKAY TRUE) ++ ++ if(DEPENDENCY_FAILURES) ++ set(THIS_EXE_OKAY FALSE) ++ # separate_arguments(DEPENDENCY_FAILURES) ++ colormsg(HIRED " ${THIS_EXE_NAME}" RED "(executable) disabled due to dependency failures:") ++ colormsg(" ${DEPENDENCY_FAILURES}") ++ endif() ++ ++ trace(THIS_EXE_VARIANT) ++ trace(THIS_EXE_OUTPUT_NAME) ++ if (THIS_EXE_VARIANT AND (NOT DEPENDENCY_FAILURES)) ++ # It's okay to build this executable ++ ++ add_executable(${THIS_EXE_NAME} ${THIS_EXE_SOURCES}) ++ ++ # Set the various compilation and linking flags ++ set_target_properties(${THIS_EXE_NAME} ++ PROPERTIES ++ COMPILE_FLAGS "${THIS_EXE_COMPILE_FLAGS}" ++ LINK_FLAGS "${THIS_EXE_LINK_FLAGS}" ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ ++ # For IDE generators where we can build both debug and release ++ # configurations, pass the configurations along separately. ++ if (THIS_EXE_DEBUG_AND_RELEASE) ++ set_target_properties(${THIS_EXE_NAME} ++ PROPERTIES ++ COMPILE_FLAGS_DEBUG "${DEBUG_COMPILE_FLAGS} ${THIS_EXE_COMPILE_FLAGS}" ++ COMPILE_FLAGS_RELEASE "${RELEASE_COMPILE_FLAGS} ${THIS_EXE_COMPILE_FLAGS}" ++ LINK_FLAGS_DEBUG "${DEBUG_LINK_FLAGS} ${DEBUG_EXE_LINK_FLAGS} ${THIS_EXE_LINK_FLAGS}" ++ LINK_FLAGS_RELEASE "${RELEASE_LINK_FLAGS} ${RELEASE_EXE_LINK_FLAGS} ${THIS_EXE_LINK_FLAGS}" ++ ) ++ endif (THIS_EXE_DEBUG_AND_RELEASE) ++ ++ # If the user gave an output name, use it. ++ if(THIS_EXE_OUTPUT_NAME) ++ set_target_properties(${THIS_EXE_NAME} ++ PROPERTIES ++ OUTPUT_NAME ${THIS_EXE_OUTPUT_NAME} ++ ) ++ endif() ++ ++ # Link against the various libraries ++ if (THIS_EXE_DEBUG_AND_RELEASE) ++ # Configuration-agnostic libraries ++ target_link_libraries(${THIS_EXE_NAME} ${THIS_EXE_LINK_LIBS}) ++ ++ foreach(LIB ${THIS_EXE_RELEASE_ACTUAL_DEPENDS} ${THIS_EXE_RELEASE_LINK_LIBS}) ++ target_link_libraries(${THIS_EXE_NAME} optimized ${LIB}) ++ endforeach(LIB ${THIS_EXE_RELEASE_ACTUAL_DEPENDS} ${THIS_EXE_RELEASE_LINK_LIBS}) ++ ++ foreach(LIB ${THIS_EXE_DEBUG_ACTUAL_DEPENDS} ${THIS_EXE_DEBUG_LINK_LIBS}) ++ target_link_libraries(${THIS_EXE_NAME} debug ${LIB}) ++ endforeach(LIB ${THIS_EXE_DEBUG_ACTUAL_DEPENDS} ${THIS_EXE_DEBUG_LINK_LIBS}) ++ ++ else (THIS_EXE_DEBUG_AND_RELEASE) ++ target_link_libraries(${THIS_EXE_NAME} ++ ${THIS_EXE_ACTUAL_DEPENDS} ++ ${THIS_EXE_LINK_LIBS}) ++ endif (THIS_EXE_DEBUG_AND_RELEASE) ++ ++ endif () ++endmacro(boost_add_executable) ++ ++ ++# Like boost_add_library, but builds a single library variant ++# FIXME: I'm not sure if I like this or not. Document it if it survives. ++macro(boost_add_single_library LIBNAME) ++ parse_arguments(THIS_LIB ++ "DEPENDS;COMPILE_FLAGS;LINK_FLAGS;LINK_LIBS;${BOOST_ADD_ARG_NAMES}" ++ "NO_INSTALL;MODULE;${BOOST_ADDEXE_OPTION_NAMES}" ++ ${ARGN} ++ ) ++ set(THIS_LIB_SOURCES ${THIS_LIB_DEFAULT_ARGS}) ++ ++ boost_select_variant(${LIBNAME} THIS_LIB) ++ trace(THIS_LIB_VARIANT) ++ if (THIS_LIB_VARIANT) ++ add_custom_target(${LIBNAME}) ++ separate_arguments(THIS_LIB_VARIANT) ++ boost_library_variant(${LIBNAME} ${THIS_LIB_VARIANT}) ++ endif () ++endmacro(boost_add_single_library) ++ ++ ++# ++# Macro for building boost.python extensions ++# ++macro(boost_python_extension MODULE_NAME) ++ parse_arguments(BPL_EXT ++ "" ++ "" ++ ${ARGN}) ++ ++ if (WIN32) ++ set(extlibtype SHARED) ++ else() ++ set(extlibtype MODULE) ++ endif() ++ ++ boost_add_single_library( ++ ${MODULE_NAME} ++ ${BPL_EXT_DEFAULT_ARGS} ++ ${extlibtype} ++ LINK_LIBS ${PYTHON_LIBRARIES} ++ DEPENDS boost_python ++ SHARED ++ MULTI_THREADED ++ ) ++ ++ if(WIN32) ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ OUTPUT_NAME "${MODULE_NAME}" ++ PREFIX "" ++ SUFFIX .pyd ++ IMPORT_SUFFIX .pyd ++ ) ++ else() ++ set_target_properties(${VARIANT_LIBNAME} ++ PROPERTIES ++ OUTPUT_NAME "${MODULE_NAME}" ++ PREFIX "" ++ ) ++ endif() ++ if (NOT THIS_VARIANT_OKAY) ++ colormsg(HIRED " ${MODULE_NAME}" RED "(python extension) disabled because:") ++ foreach(msg ${SELECT_VARIANT_FAILURE_REASONS}) ++ colormsg(YELLOW " ${msg}") ++ endforeach() ++ endif() ++ ++endmacro() +diff --git a/tools/build/CMake/BoostDocs.cmake b/tools/build/CMake/BoostDocs.cmake +new file mode 100644 +index 0000000..1eb0f56 +--- /dev/null ++++ b/tools/build/CMake/BoostDocs.cmake +@@ -0,0 +1,530 @@ ++########################################################################## ++# Boost Documentation Generation # ++########################################################################## ++# Copyright (C) 2008 Douglas Gregor # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# Important developer macros in this file: # ++# # ++########################################################################## ++ ++# Transforms the source XML file by applying the given XSL stylesheet. ++# ++# xsl_transform(output input [input2 input3 ...] ++# STYLESHEET stylesheet ++# [CATALOG catalog] ++# [DIRECTORY mainfile] ++# [PARAMETERS param1=value1 param2=value2 ...] ++# [[MAKE_ALL_TARGET | MAKE_TARGET] target] ++# [COMMENT comment]) ++# ++# This macro builds a custom command that transforms an XML file ++# (input) via the given XSL stylesheet. The output will either be a ++# single file (the default) or a directory (if the DIRECTION argument ++# is specified). The STYLESBEET stylesheet must be a valid XSL ++# stylesheet. Any extra input files will be used as additional ++# dependencies for the target. For example, these extra input files ++# might refer to other XML files that are included by the input file ++# through XInclude. ++# ++# When the XSL transform output is going to a directory, the mainfile ++# argument provides the name of a file that will be generated within ++# the output directory. This file will be used for dependency tracking. ++# ++# XML catalogs can be used to remap parts of URIs within the ++# stylesheet to other (typically local) entities. To provide an XML ++# catalog file, specify the name of the XML catalog file via the ++# CATALOG argument. It will be provided to the XSL transform. ++# ++# The PARAMETERS argument is followed by param=value pairs that set ++# additional parameters to the XSL stylesheet. The parameter names ++# that can be used correspond to the elements within the ++# stylesheet. ++# ++# To associate a target name with the result of the XSL ++# transformation, use the MAKE_TARGET or MAKE_ALL_TARGET option and ++# provide the name of the target. The MAKE_ALL_TARGET option only ++# differs from MAKE_TARGET in that MAKE_ALL_TARGET will make the ++# resulting target a part of the default build. ++# ++# If a COMMENT argument is provided, it will be used as the comment ++# CMake provides when running this XSL transformation. Otherwise, the ++# comment will be "Generating "output" via XSL transformation...". ++macro(xsl_transform OUTPUT INPUT) ++ parse_arguments(THIS_XSL ++ "STYLESHEET;CATALOG;MAKE_ALL_TARGET;MAKE_TARGET;PARAMETERS;DIRECTORY;COMMENT" ++ "" ++ ${ARGN} ++ ) ++ ++ # TODO: Is this the best way to handle catalogs? The alternative is ++ # that we could provide explicit remappings to the xsl_transform ++ # macro, and it could generate a temporary XML catalog file. ++ if (THIS_XSL_CATALOG) ++ set(THIS_XSL_CATALOG "XML_CATALOG_FILES=${THIS_XSL_CATALOG}") ++ endif () ++ ++ # Translate XSL parameters into a form that xsltproc can use. ++ set(THIS_XSL_EXTRA_FLAGS) ++ foreach(PARAM ${THIS_XSL_PARAMETERS}) ++ string(REGEX REPLACE "([^=]*)=([^;]*)" "\\1;\\2" ++ XSL_PARAM_LIST ${PARAM}) ++ list(GET XSL_PARAM_LIST 0 XSL_PARAM_NAME) ++ list(GET XSL_PARAM_LIST 1 XSL_PARAM_VALUE) ++ list(APPEND THIS_XSL_EXTRA_FLAGS ++ --stringparam ${XSL_PARAM_NAME} ${XSL_PARAM_VALUE}) ++ endforeach(PARAM) ++ ++ # If the user didn't provide a comment for this transformation, ++ # create a default one. ++ if(NOT THIS_XSL_COMMENT) ++ set(THIS_XSL_COMMENT "Generating ${OUTPUT} via XSL transformation...") ++ endif() ++ ++ # Figure out the actual output file that we tell CMake about ++ # (THIS_XSL_OUTPUT_FILE) and the output file or directory that we ++ # tell xsltproc about (THIS_XSL_OUTPUT). ++ if (THIS_XSL_DIRECTORY) ++ set(THIS_XSL_OUTPUT_FILE ${OUTPUT}/${THIS_XSL_DIRECTORY}) ++ set(THIS_XSL_OUTPUT ${OUTPUT}/) ++ else() ++ set(THIS_XSL_OUTPUT_FILE ${OUTPUT}) ++ set(THIS_XSL_OUTPUT ${OUTPUT}) ++ endif() ++ ++ if(NOT THIS_XSL_STYLESHEET) ++ message(SEND_ERROR ++ "xsl_transform macro invoked without a STYLESHEET argument") ++ else() ++ # Run the XSLT processor to do the XML transformation. ++ add_custom_command(OUTPUT ${THIS_XSL_OUTPUT_FILE} ++ COMMAND ${THIS_XSL_CATALOG} ${XSLTPROC_EXECUTABLE} ${XSLTPROC_FLAGS} ++ ${THIS_XSL_EXTRA_FLAGS} -o ${THIS_XSL_OUTPUT} ++ --path ${CMAKE_CURRENT_BINARY_DIR} ++ ${THIS_XSL_STYLESHEET} ${INPUT} ++ COMMENT ${THIS_XSL_COMMENT} ++ DEPENDS ${INPUT} ${THIS_XSL_DEFAULT_ARGS}) ++ set_source_files_properties(${THIS_XSL_OUTPUT_FILE} ++ PROPERTIES GENERATED TRUE) ++ ++ # Create a custom target to refer to the result of this ++ # transformation. ++ if (THIS_XSL_MAKE_ALL_TARGET) ++ add_custom_target(${THIS_XSL_MAKE_ALL_TARGET} ALL ++ DEPENDS ${THIS_XSL_OUTPUT_FILE}) ++ elseif(THIS_XSL_MAKE_TARGET) ++ add_custom_target(${THIS_XSL_MAKE_TARGET} ++ DEPENDS ${THIS_XSL_OUTPUT_FILE}) ++ set_target_properties(${THIS_XSL_MAKE_TARGET} ++ PROPERTIES ++ EXCLUDE_FROM_ALL ON) ++ endif() ++ endif() ++endmacro(xsl_transform) ++ ++# Use Doxygen to parse header files and produce BoostBook output. ++# ++# doxygen_to_boostbook(output header1 header2 ... ++# [PARAMETERS param1=value1 param2=value2 ... ]) ++# ++# This macro sets up rules to transform a set of C/C++ header files ++# into BoostBook reference documentation. The resulting BoostBook XML ++# file will be named by the "output" parameter, and the set of headers ++# is provided following the output file. The actual parsing of header ++# files is provided by Doxygen, and is transformed into XML through ++# various XSLT transformations. ++# ++# Doxygen has a variety of configuration parameters. One can supply ++# extra Doxygen configuration parameters by providing NAME=VALUE pairs ++# following the PARAMETERS argument. These parameters will be added to ++# the Doxygen configuration file. ++# ++# This macro is intended to be used internally by ++# boost_add_documentation. ++macro(doxygen_to_boostbook OUTPUT) ++ parse_arguments(THIS_DOXY ++ "PARAMETERS" ++ "" ++ ${ARGN}) ++ ++ # Create a Doxygen configuration file template ++ # TODO: We would like to create this file at build time rather ++ # than at configuration time ++ get_filename_component(DOXYFILE_PATH ${OUTPUT} PATH) ++ get_filename_component(DOXYFILE_NAME ${OUTPUT} NAME_WE) ++ set(DOXYFILE ${DOXYFILE_PATH}/${DOXYFILE_NAME}.doxyfile) ++ execute_process( ++ COMMAND ${DOXYGEN_EXECUTABLE} -s -g ${DOXYFILE} ++ OUTPUT_QUIET ERROR_QUIET) ++ ++ # Update the Doxygen configuration file for XML generation ++ file(APPEND ${DOXYFILE} "OUTPUT_DIRECTORY = ${CMAKE_CURRENT_BINARY_DIR}\n") ++ file(APPEND ${DOXYFILE} "GENERATE_LATEX = NO\n") ++ file(APPEND ${DOXYFILE} "GENERATE_HTML = NO\n") ++ file(APPEND ${DOXYFILE} "GENERATE_XML = YES\n") ++ foreach(PARAM ${THIS_DOXY_PARAMETERS}) ++ file(APPEND ${DOXYFILE} "${PARAM}\n") ++ endforeach(PARAM) ++ ++ set(THIS_DOXY_HEADER_PATH ${CMAKE_SOURCE_DIR}/libs/${libname}/include) ++ ++ set(THIS_DOXY_HEADER_LIST "") ++ set(THIS_DOXY_HEADERS) ++ foreach(HDR ${THIS_DOXY_DEFAULT_ARGS}) ++ list(APPEND THIS_DOXY_HEADERS ${THIS_DOXY_HEADER_PATH}/${HDR}) ++ set(THIS_DOXY_HEADER_LIST ++ "${THIS_DOXY_HEADER_LIST} ${THIS_DOXY_HEADER_PATH}/${HDR}") ++ endforeach(HDR) ++ file(APPEND ${DOXYFILE} "INPUT = ${THIS_DOXY_HEADER_LIST}\n") ++ ++ # Generate Doxygen XML ++ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/xml/index.xml ++ COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE} ++ COMMENT "Generating Doxygen XML output for Boost.${BOOST_PROJECT_NAME}..." ++ DEPENDS ${THIS_DOXY_HEADERS}) ++ ++ # Collect Doxygen XML into a single XML file ++ set_source_files_properties( ++ ${CMAKE_CURRENT_BINARY_DIR}/xml/combine.xslt ++ PROPERTIES GENERATED TRUE) ++ xsl_transform( ++ ${CMAKE_CURRENT_BINARY_DIR}/xml/all.xml ++ ${CMAKE_CURRENT_BINARY_DIR}/xml/index.xml ++ STYLESHEET ${CMAKE_CURRENT_BINARY_DIR}/xml/combine.xslt ++ COMMENT "Collecting Doxygen XML output for Boost.${BOOST_PROJECT_NAME}...") ++ ++ # Transform single Doxygen XML file into BoostBook XML ++ xsl_transform(${OUTPUT} ++ ${CMAKE_CURRENT_BINARY_DIR}/xml/all.xml ++ STYLESHEET ${BOOSTBOOK_XSL_DIR}/doxygen/doxygen2boostbook.xsl ++ COMMENT "Transforming Doxygen XML into BoostBook XML for Boost.${BOOST_PROJECT_NAME}...") ++endmacro(doxygen_to_boostbook) ++ ++# Adds documentation for the current library or tool project ++# ++# boost_add_documentation(source1 source2 source3 ... ++# [HEADERS header1 header2 ...] ++# [DOXYGEN_PARAMETERS param1=value1 param2=value2 ...]) ++# ++ ++# This macro describes the documentation for a library or tool, which ++# will be built and installed as part of the normal build ++# process. Documentation can be in a variety of formats, and the input ++# format will determine how that documentation is transformed. The ++# documentation's format is determined by its extension, and the ++# following input formats are supported: ++# ++# QuickBook ++# BoostBook (.XML extension): ++macro(boost_add_documentation SOURCE) ++ parse_arguments(THIS_DOC ++ "HEADERS;DOXYGEN_PARAMETERS" ++ "" ++ ${ARGN}) ++ ++ # If SOURCE is not a full path, it's in the current source ++ # directory. ++ get_filename_component(THIS_DOC_SOURCE_PATH ${SOURCE} PATH) ++ if(THIS_DOC_SOURCE_PATH STREQUAL "") ++ set(THIS_DOC_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}") ++ else() ++ set(THIS_DOC_SOURCE_PATH ${SOURCE}) ++ endif() ++ ++ # If we are parsing C++ headers (with Doxygen) for reference ++ # documentation, do so now and produce the requested BoostBook XML ++ # file. ++ if (THIS_DOC_HEADERS) ++ set(DOC_HEADER_FILES) ++ set(DOC_BOOSTBOOK_FILE) ++ foreach(HEADER ${THIS_DOC_HEADERS}) ++ get_filename_component(HEADER_EXT ${HEADER} EXT) ++ string(TOUPPER ${HEADER_EXT} HEADER_EXT) ++ if (HEADER_EXT STREQUAL ".XML") ++ if (DOC_BOOSTBOOK_FILE) ++ # Generate this BoostBook file from the headers ++ doxygen_to_boostbook( ++ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE} ++ ${DOC_HEADER_FILES} ++ PARAMETERS ${THIS_DOC_DOXYGEN_PARAMETERS}) ++ list(APPEND THIS_DOC_DEFAULT_ARGS ++ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE}) ++ endif() ++ set(DOC_BOOSTBOOK_FILE ${HEADER}) ++ set(DOC_HEADER_FILES) ++ else() ++ if (NOT DOC_BOOSTBOOK_FILE) ++ message(SEND_ERROR ++ "HEADERS argument to boost_add_documentation must start with a BoostBook XML file name for output") ++ endif() ++ list(APPEND DOC_HEADER_FILES ${HEADER}) ++ endif() ++ endforeach() ++ ++ if (DOC_HEADER_FILES) ++ # Generate this BoostBook file from the headers ++ doxygen_to_boostbook( ++ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE} ++ ${DOC_HEADER_FILES} ++ PARAMETERS ${THIS_DOC_DOXYGEN_PARAMETERS}) ++ list(APPEND THIS_DOC_DEFAULT_ARGS ++ ${CMAKE_CURRENT_BINARY_DIR}/${DOC_BOOSTBOOK_FILE}) ++ ++ endif() ++ endif (THIS_DOC_HEADERS) ++ ++ # Figure out the source file extension, which will tell us how to ++ # build the documentation. ++ get_filename_component(THIS_DOC_EXT ${SOURCE} EXT) ++ string(TOUPPER ${THIS_DOC_EXT} THIS_DOC_EXT) ++ if (THIS_DOC_EXT STREQUAL ".QBK") ++ if (BUILD_QUICKBOOK) ++ # Transform Quickbook into BoostBook XML ++ get_filename_component(SOURCE_FILENAME ${SOURCE} NAME_WE) ++ set(BOOSTBOOK_FILE ${SOURCE_FILENAME}.xml) ++ add_custom_command(OUTPUT ${BOOSTBOOK_FILE} ++ COMMAND quickbook "--output-file=${BOOSTBOOK_FILE}" ++ ${THIS_DOC_SOURCE_PATH} ++ DEPENDS ${THIS_DOC_SOURCE_PATH} ${THIS_DOC_DEFAULT_ARGS} ++ COMMENT "Generating BoostBook documentation for Boost.${BOOST_PROJECT_NAME}...") ++ ++ # Transform BoostBook into other formats ++ boost_add_documentation(${CMAKE_CURRENT_BINARY_DIR}/${BOOSTBOOK_FILE}) ++ else() ++ message(SEND_ERROR ++ "Quickbook is required to build Boost documentation.\nQuickbook can be built by enabling the BUILD_QUICKBOOK.") ++ endif() ++ elseif (THIS_DOC_EXT STREQUAL ".XML") ++ # Transform BoostBook XML into DocBook XML ++ get_filename_component(SOURCE_FILENAME ${SOURCE} NAME_WE) ++ set(DOCBOOK_FILE ${SOURCE_FILENAME}.docbook) ++ xsl_transform(${DOCBOOK_FILE} ${THIS_DOC_SOURCE_PATH} ++ ${THIS_DOC_DEFAULT_ARGS} ++ STYLESHEET ${BOOSTBOOK_XSL_DIR}/docbook.xsl ++ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml ++ COMMENT "Generating DocBook documentation for Boost.${BOOST_PROJECT_NAME}..." ++ MAKE_TARGET ${BOOST_PROJECT_NAME}-docbook) ++ ++ # Transform DocBook into other formats ++ boost_add_documentation(${CMAKE_CURRENT_BINARY_DIR}/${DOCBOOK_FILE}) ++ elseif(THIS_DOC_EXT STREQUAL ".DOCBOOK") ++ # If requested, build HTML documentation ++ if (BUILD_DOCUMENTATION_HTML) ++ xsl_transform( ++ ${CMAKE_CURRENT_BINARY_DIR}/html ++ ${THIS_DOC_SOURCE_PATH} ++ STYLESHEET ${BOOSTBOOK_XSL_DIR}/html.xsl ++ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml ++ DIRECTORY HTML.manifest ++ PARAMETERS admon.graphics.path=images ++ navig.graphics.path=images ++ boost.image.src=boost.png ++ COMMENT "Generating HTML documentaiton for Boost.${BOOST_PROJECT_NAME}..." ++ MAKE_TARGET ${BOOST_PROJECT_NAME}-html) ++ ++ add_custom_command(TARGET ${BOOST_PROJECT_NAME}-html ++ POST_BUILD ++ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/doc/src/boostbook.css ${CMAKE_CURRENT_BINARY_DIR}/html ++ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/boost.png ${CMAKE_CURRENT_BINARY_DIR}/html ++ ) ++ # Install generated documentation ++ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html ++ DESTINATION share/boost-${BOOST_VERSION} ++ COMPONENT ${ULIBNAME}_DOCS ++ PATTERN "*.manifest" EXCLUDE) ++ endif () ++ ++ # If requested, build Unix man pages ++ if (BUILD_DOCUMENTATION_MAN_PAGES) ++ xsl_transform( ++ ${CMAKE_CURRENT_BINARY_DIR}/man ++ ${THIS_DOC_SOURCE_PATH} ++ STYLESHEET ${BOOSTBOOK_XSL_DIR}/manpages.xsl ++ CATALOG ${CMAKE_BINARY_DIR}/catalog.xml ++ DIRECTORY man.manifest ++ COMMENT "Generating man pages for Boost.${BOOST_PROJECT_NAME}..." ++ MAKE_TARGET ${BOOST_PROJECT_NAME}-man) ++ ++ # Install man pages ++ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man ++ DESTINATION . ++ COMPONENT ${ULIBNAME}_DOCS ++ PATTERN "*.manifest" EXCLUDE) ++ endif () ++ else() ++ message(SEND_ERROR "Unknown documentation source kind ${SOURCE}.") ++ endif() ++endmacro(boost_add_documentation) ++ ++ ++########################################################################## ++# Documentation tools configuration # ++########################################################################## ++ ++# Downloads the DocBook DTD into a place where DOCBOOK_DTD_DIR can ++# find it. ++macro(download_docbook_dtd) ++ if (NOT DOCBOOK_DTD_DIR) ++ set(DOCBOOK_DTD_FILENAME "docbook-xml-${WANT_DOCBOOK_DTD_VERSION}.zip") ++ set(DOCBOOK_DTD_URL ++ "http://www.oasis-open.org/docbook/xml/${WANT_DOCBOOK_DTD_VERSION}/${DOCBOOK_DTD_FILENAME}") ++ message(STATUS "Downloading DocBook DTD from ${DOCBOOK_DTD_URL}...") ++ file(DOWNLOAD ++ "${DOCBOOK_DTD_URL}" ++ "${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME}" ++ TIMEOUT 60 STATUS DOCBOOK_DTD_STATUS) ++ list(GET DOCBOOK_DTD_STATUS 0 DOCBOOK_DTD_ERROR) ++ if (DOCBOOK_DTD_ERROR EQUAL 0) ++ # Download successful! Extract the DTD ZIP file. ++ message(STATUS "Extracting DocBook DTD...") ++ execute_process( ++ COMMAND ${UNZIP} -d docbook-dtd-${WANT_DOCBOOK_DTD_VERSION} -q "${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME}" ++ WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ++ RESULT_VARIABLE UNZIP_DTD_RESULT) ++ if (UNZIP_DTD_RESULT EQUAL 0) ++ # Extraction successful. Cleanup the downloaded file. ++ file(REMOVE ${CMAKE_BINARY_DIR}/${DOCBOOK_DTD_FILENAME}) ++ set(DOCBOOK_DTD_DIR ++ ${CMAKE_BINARY_DIR}/docbook-dtd-${WANT_DOCBOOK_DTD_VERSION} ++ CACHE PATH "Path to the DocBook DTD" FORCE) ++ else() ++ # We failed: report the error to the user ++ message(SEND_ERROR "Extraction of DocBook DTD archive ${DOCBOOK_DTD_FILENAME} failed with error \"${UNZIP_DTD_RESULT}\". DocBook DTD and XSL autoconfiguration cannot continue.") ++ endif () ++ else() ++ list(GET DOCBOOK_DTD_STATUS 1 DOCBOOK_DTD_ERRORMSG) ++ message(SEND_ERROR "Unable to download DocBook DTD from ${DOCBOOK_DTD_URL}. Error was: \"${DOCBOOK_DTD_ERRORMSG}\"") ++ endif() ++ endif() ++endmacro(download_docbook_dtd) ++ ++# Downloads the DocBook XSL into a place where DOCBOOK_XSL_DIR can ++# find it. ++macro(download_docbook_xsl) ++ if (NOT DOCBOOK_XSL_DIR) ++ set(DOCBOOK_XSL_FILENAME "docbook-xsl-${WANT_DOCBOOK_XSL_VERSION}.zip") ++ set(DOCBOOK_XSL_URL ++ "${SOURCEFORGE_MIRROR}/sourceforge/docbook/${DOCBOOK_XSL_FILENAME}") ++ message(STATUS "Downloading DocBook XSL from ${DOCBOOK_XSL_URL}...") ++ file(DOWNLOAD ++ "${DOCBOOK_XSL_URL}" ++ "${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME}" ++ TIMEOUT 60 STATUS DOCBOOK_XSL_STATUS) ++ list(GET DOCBOOK_XSL_STATUS 0 DOCBOOK_XSL_ERROR) ++ if (DOCBOOK_XSL_ERROR EQUAL 0) ++ # Download successful! Extract the XSL ZIP file. ++ message(STATUS "Extracting DocBook XSL stylesheets...") ++ execute_process( ++ COMMAND ${UNZIP} -q "${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME}" ++ WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ++ RESULT_VARIABLE UNZIP_XSL_RESULT) ++ if (UNZIP_XSL_RESULT EQUAL 0) ++ # Extraction successful. Clean up the downloaded file. ++ file(REMOVE ${CMAKE_BINARY_DIR}/${DOCBOOK_XSL_FILENAME}) ++ set(DOCBOOK_XSL_DIR ++ ${CMAKE_BINARY_DIR}/docbook-xsl-${WANT_DOCBOOK_XSL_VERSION} ++ CACHE PATH "Path to the DocBook XSL stylesheets" FORCE) ++ else() ++ # We failed: report the error to the user ++ message(SEND_ERROR "Extraction of DocBook XSL archive ${DOCBOOK_XSL_FILENAME} failed with error \"${UNZIP_XSL_RESULT}\". DocBook XSL and XSL autoconfiguration cannot continue.") ++ endif () ++ else() ++ list(GET DOCBOOK_XSL_STATUS 1 DOCBOOK_XSL_ERRORMSG) ++ message(SEND_ERROR "Unable to download DocBook XSL from ${DOCBOOK_XSL_URL}. Error was: \"${DOCBOOK_XSL_ERRORMSG}\". You might want to try another SourceForge mirror site by changing the advanced configuration variable SOURCEFORGE_MIRROR.") ++ endif() ++ endif() ++endmacro(download_docbook_xsl) ++ ++# Preferred versions of DocBook stylesheets and utilities. We don't ++# require these, but we know that they work. ++set(WANT_DOCBOOK_DTD_VERSION 4.2) ++set(WANT_DOCBOOK_XSL_VERSION 1.73.2) ++ ++# Find the DocBook DTD (version 4.2) ++find_path(DOCBOOK_DTD_DIR docbookx.dtd ++ PATHS "${CMAKE_BINARY_DIR}/docbook-dtd-${WANT_DOCBOOK_DTD_VERSION}" ++ # ubuntu puts 'em here ++ /usr/share/xml/docbook/schema/dtd/${WANT_DOCBOOK_DTD_VERSION} ++ DOC "Path to the DocBook DTD") ++ ++# Find the DocBook XSL stylesheets ++find_path(DOCBOOK_XSL_DIR html/html.xsl ++ PATHS "${CMAKE_BINARY_DIR}/docbook-xsl-${WANT_DOCBOOK_XSL_VERSION}" ++ # ubuntu puts 'em here ++ /usr/share/xml/docbook/stylesheet/nwalsh ++ DOC "Path to the DocBook XSL stylesheets") ++ ++# Find the BoostBook DTD (it should be in the distribution!) ++find_path(BOOSTBOOK_DTD_DIR boostbook.dtd ++ PATHS ${CMAKE_SOURCE_DIR}/tools/boostbook/dtd ++ DOC "Path to the BoostBook DTD") ++mark_as_advanced(BOOSTBOOK_DTD_DIR) ++ ++# Find the BoostBook XSL stylesheets (they should be in the distribution!) ++find_path(BOOSTBOOK_XSL_DIR docbook.xsl ++ PATHS ${CMAKE_SOURCE_DIR}/tools/boostbook/xsl ++ DOC "Path to the BoostBook XSL stylesheets") ++mark_as_advanced(BOOSTBOOK_XSL_DIR) ++ ++if (XSLTPROC_EXECUTABLE AND DOXYGEN) ++ if (DOCBOOK_DTD_DIR AND DOCBOOK_XSL_DIR) ++ # Documentation build options ++ option(BUILD_DOCUMENTATION "Whether to build library documentation" ON) ++ option(BUILD_DOCUMENTATION_HTML "Whether to build HTML documentation" ON) ++ option(BUILD_DOCUMENTATION_MAN_PAGES "Whether to build Unix man pages" ON) ++ ++ # Generate an XML catalog file. ++ configure_file(${CMAKE_SOURCE_DIR}/tools/build/CMake/catalog.xml.in ++ ${CMAKE_BINARY_DIR}/catalog.xml ++ @ONLY) ++ else() ++ # Look for "unzip", because we'll need it to download the DocBook ++ # DTD and XSL stylesheets as part of autoconfiguration. ++ find_program(UNZIP unzip DOC "Used to extract ZIP archives") ++ ++ if (UNZIP) ++ option(DOCBOOK_AUTOCONFIG ++ "Automatically download and configure DocBook DTD and XSL" OFF) ++ set(SOURCEFORGE_MIRROR "http://dl.sourceforge.net" ++ CACHE STRING "SourceForge mirror used to download DocBook XSL during autoconfiguration") ++ mark_as_advanced(SOURCEFORGE_MIRROR) ++ if (DOCBOOK_AUTOCONFIG) ++ message(STATUS "Initiating DocBook DTD and XSL autoconfiguration...") ++ download_docbook_dtd() ++ download_docbook_xsl() ++ endif (DOCBOOK_AUTOCONFIG) ++ endif() ++ endif() ++endif() ++ ++# Turn off BUILD_DOCUMENTATION if it isn't going to succeed. ++if (BUILD_DOCUMENTATION) ++ set(BUILD_DOCUMENTATION_OKAY TRUE) ++ if (NOT XSLTPROC_FOUND) ++ set(BUILD_DOCUMENTATION_OKAY FALSE) ++ message(STATUS "Docs build disabled due to missing xsltproc") ++ elseif (NOT DOXYGEN_FOUND) ++ set(BUILD_DOCUMENTATION_OKAY FALSE) ++ message(STATUS "Docs build disabled due to missing doxygen") ++ elseif (NOT DOCBOOK_DTD_DIR) ++ set(BUILD_DOCUMENTATION_OKAY FALSE) ++ message(STATUS "Docs build disabled due to missing docbook dtd dir") ++ message(STATUS "You can set DOCBOOK_AUTOCONFIG to attempt this automatically.") ++ elseif (NOT DOCBOOK_XSL_DIR) ++ set(BUILD_DOCUMENTATION_OKAY FALSE) ++ message(STATUS "Docs build disabled due to missing docbook xsl dir") ++ message(STATUS "You can set DOCBOOK_AUTOCONFIG to attempt this automatically.") ++ else() ++ set(BUILD_DOCUMENTATION_OKAY TRUE) ++ endif() ++ ++ if (NOT BUILD_DOCUMENTATION_OKAY) ++ if (BUILD_DOCUMENTATION) ++ set(BUILD_DOCUMENTATION OFF CACHE BOOL ++ "Whether to build library documentation" FORCE) ++ endif() ++ endif() ++endif() +\ No newline at end of file +diff --git a/tools/build/CMake/BoostExternals.cmake b/tools/build/CMake/BoostExternals.cmake +new file mode 100644 +index 0000000..763ce1e +--- /dev/null ++++ b/tools/build/CMake/BoostExternals.cmake +@@ -0,0 +1,55 @@ ++# Copyright (C) Troy Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++ ++message(STATUS "") ++colormsg(_HIBLUE_ "Looking for (optional) dependencies on the system") ++ ++macro(boost_external_report NAME) ++ string(TOUPPER ${NAME} VARNAME) ++ set(VARNAMES ${ARGV}) ++ list(REMOVE_AT VARNAMES 0) ++ set(SUCCESS ${${VARNAME}_FOUND}) ++ if(NOT SUCCESS) ++ message(STATUS "${NAME} not found, some libraries or features will be disabled.") ++ message(STATUS "See the documentation for ${NAME} or manually set these variables:") ++ endif() ++ foreach(variable ${VARNAMES}) ++ boost_report_value(${VARNAME}_${variable}) ++ endforeach() ++endmacro() ++ ++# ++# Some externals default to OFF ++# ++option(WITH_VALGRIND "Run tests under valgrind" OFF) ++ ++# ++# ++# ++foreach(external ++ BZip2 ++ Doxygen ++ Expat ++ ICU ++ MPI ++ Python ++ Xsltproc ++ Valgrind ++ ZLib ++ ) ++ message(STATUS "") ++ string(TOUPPER "${external}" EXTERNAL) ++ option(WITH_${EXTERNAL} "Attempt to find and configure ${external}" ON) ++ if(WITH_${EXTERNAL}) ++ colormsg(HICYAN "${external}:") ++ include(${CMAKE_CURRENT_SOURCE_DIR}/tools/build/CMake/externals/${external}.cmake) ++ else() ++ set(${EXTERNAL}_FOUND FALSE CACHE BOOL "${external} found" FORCE) ++ colormsg(HIRED "${external}:" RED "disabled, since WITH_${EXTERNAL}=OFF") ++ endif() ++endforeach() ++message(STATUS "") +\ No newline at end of file +diff --git a/tools/build/CMake/BoostTesting.cmake b/tools/build/CMake/BoostTesting.cmake +new file mode 100644 +index 0000000..79129a5 +--- /dev/null ++++ b/tools/build/CMake/BoostTesting.cmake +@@ -0,0 +1,494 @@ ++########################################################################## ++# Regression Testing Support for Boost # ++########################################################################## ++# Copyright (C) 2007-8 Douglas Gregor # ++# Copyright (C) 2007-8 Troy D. Straszheim # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# This file provides a set of CMake macros that support regression ++# testing for Boost libraries. For each of the test macros below, the ++# first argument, testname, states the name of the test that will be ++# created. If no other arguments are provided, the source file ++# testname.cpp will be used as the source file; otherwise, source ++# files should be listed immediately after the name of the test. ++# ++# The macros for creating regression tests are: ++# boost_test_run: Builds an executable and runs it as a test. The test ++# succeeds if it builds and returns 0 when executed. ++# ++# boost_test_run_fail: Builds an executable and runs it as a test. The ++# test succeeds if it builds but returns a non-zero ++# exit code when executed. ++# ++# boost_test_compile: Tests that the given source file compiles without ++# any errors. ++# ++# boost_test_compile_fail: Tests that the given source file produces ++# errors when compiled. ++# ++# boost_additional_test_dependencies: Adds needed include directories for ++# the tests. ++ ++# User-controlled option that can be used to enable/disable regression ++# testing. By default, we disable testing, because most users won't ++# want or need to perform regression testing on Boost. The Boost build ++# is significantly faster when we aren't also building regression ++# tests. ++ ++if (BOOST_CMAKE_SELFTEST) ++ set(tests "ALL") ++else() ++ set(tests "NONE") ++endif() ++ ++set(BUILD_TESTS ${tests} CACHE STRING "Semicolon-separated list of lowercase librarary names to test, or \"ALL\"") ++enable_testing() ++ ++if (BUILD_TESTING) ++ if (NOT EXISTS ${CMAKE_BINARY_DIR}/CTestCustom.cmake) ++ configure_file(${CMAKE_SOURCE_DIR}/tools/build/CMake/CTestCustom.cmake.in ++ ${CMAKE_BINARY_DIR}/CTestCustom.cmake ++ COPYONLY) ++ endif() ++ include(CTest) ++endif() ++ ++if (BUILD_TESTS STREQUAL "NONE") ++ # ++ # Add a little "message" if tests are run while BUILD_TESTS is NONE ++ # ++ add_test(BUILD_TESTS_is_NONE_nothing_to_test ++ /bin/false) ++endif() ++ ++set(DART_TESTING_TIMEOUT 15 ++ CACHE INTEGER ++ "Timeout after this many seconds of madness") ++ ++#------------------------------------------------------------------------------- ++# This macro adds additional include directories based on the dependencies of ++# the library being tested 'libname' and all of its dependencies. ++# ++# boost_additional_test_dependencies(libname ++# BOOST_DEPENDS libdepend1 libdepend2 ...) ++# ++# libname is the name of the boost library being tested. (signals) ++# ++# There is mandatory argument to the macro: ++# ++# BOOST_DEPENDS: The list of the extra boost libraries that the test suite will ++# depend on. You do NOT have to list those libraries already listed by the ++# module.cmake file as these will be used. ++# ++# ++# example usage: ++# boost_additional_test_dependencies(signals BOOST_DEPENDS test optional) ++# ++# ++# TDS 20091103: ++# For the moment we don't need this, since tests are now traversed ++# after project directories (so all boost lib dependency targets are ++# visible to all tests) and modularization has crashed and burned. ++# ++macro(boost_additional_test_dependencies libname) ++ # NOTE DISABLED ++ if (FALSE) ++ parse_arguments(BOOST_TEST ++ "BOOST_DEPENDS" ++ "" ++ ${ARGN} ++ ) ++ # Get the list of libraries that this test depends on ++ # Set THIS_PROJECT_DEPENDS_ALL to the set of all of its ++ # dependencies, its dependencies' dependencies, etc., transitively. ++ string(TOUPPER "BOOST_${libname}_DEPENDS" THIS_PROJECT_DEPENDS) ++ set(THIS_TEST_DEPENDS_ALL ${libname} ${${THIS_PROJECT_DEPENDS}} ) ++ set(ADDED_DEPS TRUE) ++ while (ADDED_DEPS) ++ set(ADDED_DEPS FALSE) ++ foreach(DEP ${THIS_TEST_DEPENDS_ALL}) ++ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS) ++ foreach(DEPDEP ${${DEP_DEPENDS}}) ++ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ endforeach() ++ endforeach() ++ endwhile() ++ ++ # Get the list of dependencies for the additional libraries arguments ++ foreach(additional_lib ${BOOST_TEST_BOOST_DEPENDS}) ++ list(FIND THIS_TEST_DEPENDS_ALL ${additional_lib} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_TEST_DEPENDS_ALL ${additional_lib}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ string(TOUPPER "BOOST_${additional_lib}_DEPENDS" THIS_PROJECT_DEPENDS) ++ set(ADDED_DEPS TRUE) ++ while (ADDED_DEPS) ++ set(ADDED_DEPS FALSE) ++ foreach(DEP ${THIS_TEST_DEPENDS_ALL}) ++ string(TOUPPER "BOOST_${DEP}_DEPENDS" DEP_DEPENDS) ++ foreach(DEPDEP ${${DEP_DEPENDS}}) ++ list(FIND THIS_TEST_DEPENDS_ALL ${DEPDEP} DEPDEP_INDEX) ++ if (DEPDEP_INDEX EQUAL -1) ++ list(APPEND THIS_TEST_DEPENDS_ALL ${DEPDEP}) ++ set(ADDED_DEPS TRUE) ++ endif() ++ endforeach() ++ endforeach() ++ endwhile() ++ endforeach() ++ ++ foreach (include ${THIS_TEST_DEPENDS_ALL}) ++ # ++ # Modularization temporarily disabled ++ # ++ # include_directories("${Boost_SOURCE_DIR}/libs/${include}/include") ++ # ++ endforeach (include ${includes}) ++endif() ++ ++endmacro(boost_additional_test_dependencies libname) ++#------------------------------------------------------------------------------- ++ ++#------------------------------------------------------------------------------- ++# This macro is an internal utility macro that helps parse the ++# arguments passed to the Boost testing commands. It will generally ++# not be used by Boost developers. ++# ++# boost_test_parse_args(testname ++# [source1 source2 ...] ++# [ARGS arg1 arg2... ] ++# [COMPILE_FLAGS compileflags] ++# [LINK_FLAGS linkflags] ++# [LINK_LIBS linklibs] ++# [DEPENDS libdepend1 libdepend2 ...] ++# [KNOWN_FAILURES string1 string2 ...] ++# [COMPILE] [RUN] [FAIL]) ++# ++# testname is the name of the test. The remaining arguments passed to ++# this macro will be parsed and categorized for the developer-level ++# test macros to use. ++# ++# Variables affected: ++# ++# BOOST_TEST_OKAY: Will be set to TRUE if it is okay to build and ++# run this test. ++# ++# BOOST_TEST_SOURCES: Will be populated with the set of source files ++# that should be used to compile this test. If the user has provided ++# source files, BOOST_TEST_SOURCES will contain those; otherwise, ++# BOOST_TEST_SOURCES will only contain "testname.cpp". ++# ++# BOOST_TEST_TESTNAME: A (hopefully) globally unique target name ++# for the test, constructed from PROJECT-testname-TAG ++# ++# BOOST_TEST_arg: Will be populated with the arguments provided for ++# the arguemnt "arg", where "arg" can be any of the extra arguments ++# specified above. ++# ++# ++macro(boost_test_parse_args testname) ++ #message("boost_test_parse_args ${testname} ${ARGN}") ++ set(BOOST_TEST_OKAY TRUE) ++ set(BOOST_TEST_COMPILE_FLAGS "") ++ parse_arguments(BOOST_TEST ++ "BOOST_LIB;LINK_LIBS;LINK_FLAGS;DEPENDS;COMPILE_FLAGS;ARGS;EXTRA_OPTIONS;KNOWN_FAILURES" ++ "COMPILE;RUN;LINK;FAIL;RELEASE;DEBUG" ++ ${ARGN} ++ ) ++ ++ # Check each of the dependencies to see if we can still build this ++ # test. ++ foreach(ARG ${BOOST_TEST_DEPENDS}) ++ get_target_property(DEPEND_TYPE ${ARG} TYPE) ++ get_target_property(DEPEND_LOCATION ${ARG} LOCATION) ++ # If building static libraries is turned off, don't try to build ++ # the test ++ #if (NOT ENABLE_STATIC AND ${DEPEND_TYPE} STREQUAL "STATIC_LIBRARY") ++ #set(BOOST_TEST_OKAY FALSE) ++ #endif (NOT ENABLE_STATIC AND ${DEPEND_TYPE} STREQUAL "STATIC_LIBRARY") ++ ++ # If building shared libraries is turned off, don't try to build ++ # the test ++ #if (NOT ENABLE_SHARED AND ${DEPEND_TYPE} STREQUAL "SHARED_LIBRARY") ++ #set(BOOST_TEST_OKAY FALSE) ++ #endif (NOT ENABLE_SHARED AND ${DEPEND_TYPE} STREQUAL "SHARED_LIBRARY") ++ endforeach(ARG ${BOOST_TEST_DEPENDS}) ++ ++ # Setup the SOURCES variables. If no sources are specified, use the ++ # name of the test.cpp ++ if (BOOST_TEST_DEFAULT_ARGS) ++ set(BOOST_TEST_SOURCES ${BOOST_TEST_DEFAULT_ARGS}) ++ else (BOOST_TEST_DEFAULT_ARGS) ++ set(BOOST_TEST_SOURCES "${testname}.cpp") ++ endif (BOOST_TEST_DEFAULT_ARGS) ++ ++ set(BOOST_TEST_TESTNAME "${BOOST_PROJECT_NAME}-${testname}") ++ #message("testname: ${BOOST_TEST_TESTNAME}") ++ # If testing is turned off, this test is not okay ++endmacro(boost_test_parse_args) ++ ++# This macro attaches a the "known-failure" label to the given test ++# target if the build name matches any of the declared, known ++# failures. ++macro(boost_test_known_failures TEST) ++ foreach(PATTERN ${ARGN}) ++ if (${BUILDNAME} MATCHES ${PATTERN}) ++ set_tests_properties("${BOOST_PROJECT_NAME}-${TEST}" ++ PROPERTIES ++ LABELS "${BOOST_PROJECT_NAME};known-failure" ++ WILL_FAIL TRUE ++ ) ++ endif() ++ endforeach() ++endmacro(boost_test_known_failures) ++ ++ ++# This macro creates a Boost regression test that will be executed. If ++# the test can be built, executed, and exits with a return code of ++# zero, it will be considered to have passed. ++# ++# boost_test_run(testname ++# [source1 source2 ...] ++# [ARGS arg1 arg2... ] ++# [COMPILE_FLAGS compileflags] ++# [LINK_FLAGS linkflags] ++# [LINK_LIBS linklibs] ++# [DEPENDS libdepend1 libdepend2 ...] ++# [EXTRA_OPTIONS option1 option2 ...]) ++# ++# testname is the name of the test. source1, source2, etc. are the ++# source files that will be built and linked into the test ++# executable. If no source files are provided, the file "testname.cpp" ++# will be used instead. ++# ++# There are several optional arguments to control how the regression ++# test is built and executed: ++# ++# ARGS: Provides additional arguments that will be passed to the ++# test executable when it is run. ++# ++# COMPILE_FLAGS: Provides additional compilation flags that will be ++# used when building this test. For example, one might want to add ++# "-DBOOST_SIGNALS_ASSERT=1" to turn on assertions within the library. ++# ++# LINK_FLAGS: Provides additional flags that will be passed to the ++# linker when linking the test excecutable. This option should not ++# be used to link in additional libraries; see LINK_LIBS and ++# DEPENDS. ++# ++# LINK_LIBS: Provides additional libraries against which the test ++# executable will be linked. For example, one might provide "expat" ++# as options to LINK_LIBS, to state that this executable should be ++# linked against the external "expat" library. Use LINK_LIBS for ++# libraries external to Boost; for Boost libraries, use DEPENDS. ++# ++# DEPENDS: States that this test executable depends on and links ++# against another Boost library. The argument to DEPENDS should be ++# the name of a particular variant of a Boost library, e.g., ++# boost_signals-static. ++# ++# EXTRA_OPTIONS: Provide extra options that will be passed on to ++# boost_add_executable. ++# ++# Example: ++# boost_test_run(signal_test DEPENDS boost_signals) ++macro(boost_test_run testname) ++ boost_test_parse_args(${testname} ${ARGN} RUN) ++ # ++ # On windows, tests have to go in the same directory as ++ # DLLs. ++ # ++ if (NOT CMAKE_HOST_WIN32) ++ set(THIS_TEST_OUTPUT_NAME tests/${BOOST_PROJECT_NAME}/${testname}) ++ else() ++ set(THIS_TEST_OUTPUT_NAME ${BOOST_PROJECT_NAME}-${testname}) ++ endif() ++ ++ if (BOOST_TEST_OKAY) ++ boost_add_executable(${testname} ${BOOST_TEST_SOURCES} ++ DEPENDS "${BOOST_TEST_DEPENDS}" ++ OUTPUT_NAME ${THIS_TEST_OUTPUT_NAME} ++ LINK_LIBS ${BOOST_TEST_LINK_LIBS} ++ LINK_FLAGS ${BOOST_TEST_LINK_FLAGS} ++ COMPILE_FLAGS ${BOOST_TEST_COMPILE_FLAGS} ++ NO_INSTALL ++ ${BOOST_TEST_EXTRA_OPTIONS}) ++ ++ if (THIS_EXE_OKAY) ++ # ++ # Fixup path for visual studio per instructions from Brad King: ++ # ++ get_target_property(THIS_TEST_LOCATION ${BOOST_TEST_TESTNAME} ++ LOCATION) ++ string(REGEX REPLACE "\\$\\(.*\\)" "\${CTEST_CONFIGURATION_TYPE}" ++ THIS_TEST_LOCATION "${THIS_TEST_LOCATION}") ++ ++ add_test (${BOOST_TEST_TESTNAME} ++ ${VALGRIND_EXECUTABLE} ++ ${VALGRIND_FLAGS} ++ ${THIS_TEST_LOCATION} ++ ${BOOST_TEST_ARGS}) ++ ++ set_tests_properties(${BOOST_TEST_TESTNAME} ++ PROPERTIES ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES}) ++ ++ if (BOOST_TEST_FAIL) ++ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON) ++ endif () ++ endif(THIS_EXE_OKAY) ++ endif (BOOST_TEST_OKAY) ++endmacro(boost_test_run) ++ ++# ++# This macro creates a boost regression test that will be run but is ++# expected to fail (exit with nonzero return code). ++# See boost_test_run() ++# ++macro(boost_test_run_fail testname) ++ boost_test_run(${testname} ${ARGN} FAIL) ++endmacro(boost_test_run_fail) ++ ++# This macro creates a Boost regression test that will be compiled, ++# but not linked or executed. If the test can be compiled with no ++# failures, the test passes. ++# ++# boost_test_compile(testname ++# [source1] ++# [COMPILE_FLAGS compileflags]) ++# ++# testname is the name of the test. source1 is the name of the source ++# file that will be built. If no source file is provided, the file ++# "testname.cpp" will be used instead. ++# ++# The COMPILE_FLAGS argument provides additional arguments that will ++# be passed to the compiler when building this test. ++ ++# Example: ++# boost_test_compile(advance) ++macro(boost_test_compile testname) ++ boost_test_parse_args(${testname} ${ARGN} COMPILE) ++ ++ if (BOOST_TEST_FAIL) ++ set (test_pass "FAILED") ++ else() ++ set (test_pass "PASSED") ++ endif() ++ ++ if (BOOST_TEST_OKAY) ++ ++ # Determine the include directories to pass along to the underlying ++ # project. ++ # works but not great ++ get_directory_property(BOOST_TEST_INCLUDE_DIRS INCLUDE_DIRECTORIES) ++ set(BOOST_TEST_INCLUDES "") ++ foreach(DIR ${BOOST_TEST_INCLUDE_DIRS}) ++ set(BOOST_TEST_INCLUDES "${BOOST_TEST_INCLUDES};${DIR}") ++ endforeach(DIR ${BOOST_TEST_INCLUDE_DIRS}) ++ ++ add_test(${BOOST_TEST_TESTNAME} ++ ${CMAKE_CTEST_COMMAND} ++ --build-and-test ++ ${Boost_SOURCE_DIR}/tools/build/CMake/CompileTest ++ ${Boost_BINARY_DIR}/tools/build/CMake/CompileTest ++ --build-generator ${CMAKE_GENERATOR} ++ --build-makeprogram ${CMAKE_MAKE_PROGRAM} ++ --build-project CompileTest ++ --build-options ++ "-DSOURCE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES}" ++ "-DINCLUDES:STRING=${BOOST_TEST_INCLUDES}" ++ "-DCOMPILE_FLAGS:STRING=${BOOST_TEST_COMPILE_FLAGS}" ++ ) ++ ++ set_tests_properties(${BOOST_TEST_TESTNAME} ++ PROPERTIES ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ ++ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES}) ++ ++ if (BOOST_TEST_FAIL) ++ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON) ++ endif () ++ endif(BOOST_TEST_OKAY) ++endmacro(boost_test_compile) ++ ++# ++# This macro creates a Boost regression test that is expected to ++# *fail* to compile. See boost_test_compile() ++# ++macro(boost_test_compile_fail testname) ++ boost_test_compile(${testname} ${ARGN} FAIL) ++endmacro(boost_test_compile_fail) ++ ++ ++ ++ ++# ++# boost_test_link: ++# ++# ++# Each library "exports" itself to ++# ${CMAKE_BINARY_DIR}/exports/.cmake ++# ++# The list of 'depends' for these libraries has to match one of those ++# files, this way the export mechanism works. The generated ++# cmakelists will include() those exported .cmake files, for each ++# DEPENDS. ++# ++# ++macro(boost_test_link testname) ++ boost_test_parse_args(${testname} ${ARGN} LINK) ++ if(BOOST_TEST_OKAY) ++ # Determine the include directories to pass along to the underlying ++ # project. ++ # works but not great ++ get_directory_property(BOOST_TEST_INCLUDE_DIRS INCLUDE_DIRECTORIES) ++ set(BOOST_TEST_INCLUDES "") ++ foreach(DIR ${BOOST_TEST_INCLUDE_DIRS}) ++ set(BOOST_TEST_INCLUDES "${BOOST_TEST_INCLUDES};${DIR}") ++ endforeach(DIR ${BOOST_TEST_INCLUDE_DIRS}) ++ ++ add_test(${BOOST_TEST_TESTNAME} ++ ${CMAKE_CTEST_COMMAND} ++ -VV ++ --build-and-test ++ ${Boost_SOURCE_DIR}/tools/build/CMake/LinkTest ++ ${Boost_BINARY_DIR}/tools/build/CMake/LinkTest ++ --build-generator ${CMAKE_GENERATOR} ++ --build-makeprogram ${CMAKE_MAKE_PROGRAM} ++ --build-project LinkTest ++ --build-options ++ "-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}" ++ "-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}" ++ "-DBOOST_EXPORTS_DIR:FILEPATH=${CMAKE_BINARY_DIR}/exports" ++ "-DSOURCE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_TEST_SOURCES}" ++ "-DINCLUDES:STRING=${BOOST_TEST_INCLUDES}" ++ "-DCOMPILE_FLAGS:STRING=${BOOST_TEST_COMPILE_FLAGS}" ++ "-DLINK_LIBS:STRING=${BOOST_TEST_LINK_LIBS}" ++ "-DDEPENDS:STRING=${BOOST_TEST_DEPENDS}" ++ ) ++ ++ set_tests_properties(${BOOST_TEST_TESTNAME} ++ PROPERTIES ++ LABELS "${BOOST_PROJECT_NAME}" ++ ) ++ ++ boost_test_known_failures(${testname} ${BOOST_TEST_KNOWN_FAILURES}) ++ ++ if (BOOST_TEST_FAIL) ++ set_tests_properties(${BOOST_TEST_TESTNAME} PROPERTIES WILL_FAIL ON) ++ endif () ++ endif(BOOST_TEST_OKAY) ++endmacro(boost_test_link) ++ +diff --git a/tools/build/CMake/BoostUtils.cmake b/tools/build/CMake/BoostUtils.cmake +new file mode 100644 +index 0000000..8cf2632 +--- /dev/null ++++ b/tools/build/CMake/BoostUtils.cmake +@@ -0,0 +1,331 @@ ++########################################################################## ++# Boost Utilities # ++########################################################################## ++# Copyright (C) 2007 Douglas Gregor # ++# Copyright (C) 2007 Troy Straszheim # ++# # ++# Distributed under the Boost Software License, Version 1.0. # ++# See accompanying file LICENSE_1_0.txt or copy at # ++# http://www.boost.org/LICENSE_1_0.txt # ++########################################################################## ++# Macros in this module: # ++# # ++# list_contains: Determine whether a string value is in a list. # ++# # ++# car: Return the first element in a list # ++# # ++# cdr: Return all but the first element in a list # ++# # ++# parse_arguments: Parse keyword arguments for use in other macros. # ++########################################################################## ++ ++# This utility macro determines whether a particular string value ++# occurs within a list of strings: ++# ++# list_contains(result string_to_find arg1 arg2 arg3 ... argn) ++# ++# This macro sets the variable named by result equal to TRUE if ++# string_to_find is found anywhere in the following arguments. ++macro(list_contains var value) ++ set(${var}) ++ foreach (value2 ${ARGN}) ++ if (${value} STREQUAL ${value2}) ++ set(${var} TRUE) ++ endif (${value} STREQUAL ${value2}) ++ endforeach (value2) ++endmacro(list_contains) ++ ++# This utility macro extracts the first argument from the list of ++# arguments given, and places it into the variable named var. ++# ++# car(var arg1 arg2 ...) ++macro(car var) ++ set(${var} ${ARGV1}) ++endmacro(car) ++ ++# This utility macro extracts all of the arguments given except the ++# first, and places them into the variable named var. ++# ++# car(var arg1 arg2 ...) ++macro(cdr var junk) ++ set(${var} ${ARGN}) ++endmacro(cdr) ++ ++# The PARSE_ARGUMENTS macro will take the arguments of another macro and ++# define several variables. The first argument to PARSE_ARGUMENTS is a ++# prefix to put on all variables it creates. The second argument is a ++# list of names, and the third argument is a list of options. Both of ++# these lists should be quoted. The rest of PARSE_ARGUMENTS are ++# arguments from another macro to be parsed. ++# ++# PARSE_ARGUMENTS(prefix arg_names options arg1 arg2...) ++# ++# For each item in options, PARSE_ARGUMENTS will create a variable with ++# that name, prefixed with prefix_. So, for example, if prefix is ++# MY_MACRO and options is OPTION1;OPTION2, then PARSE_ARGUMENTS will ++# create the variables MY_MACRO_OPTION1 and MY_MACRO_OPTION2. These ++# variables will be set to true if the option exists in the command line ++# or false otherwise. ++# ++# For each item in arg_names, PARSE_ARGUMENTS will create a variable ++# with that name, prefixed with prefix_. Each variable will be filled ++# with the arguments that occur after the given arg_name is encountered ++# up to the next arg_name or the end of the arguments. All options are ++# removed from these lists. PARSE_ARGUMENTS also creates a ++# prefix_DEFAULT_ARGS variable containing the list of all arguments up ++# to the first arg_name encountered. ++MACRO(PARSE_ARGUMENTS prefix arg_names option_names) ++ SET(DEFAULT_ARGS) ++ FOREACH(arg_name ${arg_names}) ++ SET(${prefix}_${arg_name}) ++ ENDFOREACH(arg_name) ++ FOREACH(option ${option_names}) ++ SET(${prefix}_${option} FALSE) ++ ENDFOREACH(option) ++ ++ SET(current_arg_name DEFAULT_ARGS) ++ SET(current_arg_list) ++ FOREACH(arg ${ARGN}) ++ LIST_CONTAINS(is_arg_name ${arg} ${arg_names}) ++ IF (is_arg_name) ++ SET(${prefix}_${current_arg_name} ${current_arg_list}) ++ SET(current_arg_name ${arg}) ++ SET(current_arg_list) ++ ELSE (is_arg_name) ++ LIST_CONTAINS(is_option ${arg} ${option_names}) ++ IF (is_option) ++ SET(${prefix}_${arg} TRUE) ++ ELSE (is_option) ++ SET(current_arg_list ${current_arg_list} ${arg}) ++ ENDIF (is_option) ++ ENDIF (is_arg_name) ++ ENDFOREACH(arg) ++ SET(${prefix}_${current_arg_name} ${current_arg_list}) ++ENDMACRO(PARSE_ARGUMENTS) ++ ++# Perform a reverse topological sort on the given LIST. ++# ++# topological_sort(my_list "MY_" "_EDGES") ++# ++# LIST is the name of a variable containing a list of elements to be ++# sorted in reverse topological order. Each element in the list has a ++# set of outgoing edges (for example, those other list elements that ++# it depends on). In the resulting reverse topological ordering ++# (written back into the variable named LIST), an element will come ++# later in the list than any of the elements that can be reached by ++# following its outgoing edges and the outgoing edges of any vertices ++# they target, recursively. Thus, if the edges represent dependencies ++# on build targets, for example, the reverse topological ordering is ++# the order in which one would build those targets. ++# ++# For each element E in this list, the edges for E are contained in ++# the variable named ${PREFIX}${E}${SUFFIX}, where E is the ++# upper-cased version of the element in the list. If no such variable ++# exists, then it is assumed that there are no edges. For example, if ++# my_list contains a, b, and c, one could provide a dependency graph ++# using the following variables: ++# ++# MY_A_EDGES b ++# MY_B_EDGES ++# MY_C_EDGES a b ++# ++# With the involcation of topological_sort shown above and these ++# variables, the resulting reverse topological ordering will be b, a, ++# c. ++function(topological_sort LIST PREFIX SUFFIX) ++ # Clear the stack and output variable ++ set(VERTICES "${${LIST}}") ++ set(STACK) ++ set(${LIST}) ++ ++ # Loop over all of the vertices, starting the topological sort from ++ # each one. ++ foreach(VERTEX ${VERTICES}) ++ string(TOUPPER ${VERTEX} UPPER_VERTEX) ++ ++ # If we haven't already processed this vertex, start a depth-first ++ # search from where. ++ if (NOT FOUND_${UPPER_VERTEX}) ++ # Push this vertex onto the stack with all of its outgoing edges ++ string(REPLACE ";" " " NEW_ELEMENT ++ "${VERTEX};${${PREFIX}${UPPER_VERTEX}${SUFFIX}}") ++ list(APPEND STACK ${NEW_ELEMENT}) ++ ++ # We've now seen this vertex ++ set(FOUND_${UPPER_VERTEX} TRUE) ++ ++ # While the depth-first search stack is not empty ++ list(LENGTH STACK STACK_LENGTH) ++ while(STACK_LENGTH GREATER 0) ++ # Remove the vertex and its remaining out-edges from the top ++ # of the stack ++ list(GET STACK -1 OUT_EDGES) ++ list(REMOVE_AT STACK -1) ++ ++ # Get the source vertex and the list of out-edges ++ separate_arguments(OUT_EDGES) ++ list(GET OUT_EDGES 0 SOURCE) ++ list(REMOVE_AT OUT_EDGES 0) ++ ++ # While there are still out-edges remaining ++ list(LENGTH OUT_EDGES OUT_DEGREE) ++ while (OUT_DEGREE GREATER 0) ++ # Pull off the first outgoing edge ++ list(GET OUT_EDGES 0 TARGET) ++ list(REMOVE_AT OUT_EDGES 0) ++ ++ string(TOUPPER ${TARGET} UPPER_TARGET) ++ if (NOT FOUND_${UPPER_TARGET}) ++ # We have not seen the target before, so we will traverse ++ # its outgoing edges before coming back to our ++ # source. This is the key to the depth-first traversal. ++ ++ # We've now seen this vertex ++ set(FOUND_${UPPER_TARGET} TRUE) ++ ++ # Push the remaining edges for the current vertex onto the ++ # stack ++ string(REPLACE ";" " " NEW_ELEMENT ++ "${SOURCE};${OUT_EDGES}") ++ list(APPEND STACK ${NEW_ELEMENT}) ++ ++ # Setup the new source and outgoing edges ++ set(SOURCE ${TARGET}) ++ string(TOUPPER ${SOURCE} UPPER_SOURCE) ++ set(OUT_EDGES ++ ${${PREFIX}${UPPER_SOURCE}${SUFFIX}}) ++ endif(NOT FOUND_${UPPER_TARGET}) ++ ++ list(LENGTH OUT_EDGES OUT_DEGREE) ++ endwhile (OUT_DEGREE GREATER 0) ++ ++ # We have finished all of the outgoing edges for ++ # SOURCE; add it to the resulting list. ++ list(APPEND ${LIST} ${SOURCE}) ++ ++ # Check the length of the stack ++ list(LENGTH STACK STACK_LENGTH) ++ endwhile(STACK_LENGTH GREATER 0) ++ endif (NOT FOUND_${UPPER_VERTEX}) ++ endforeach(VERTEX) ++ ++ set(${LIST} ${${LIST}} PARENT_SCOPE) ++endfunction(topological_sort) ++ ++# Small little hack that tweaks a component name (as used for CPack) ++# to make sure to avoid certain names that cause problems. Sets the ++# variable named varname to the "sanitized" name. ++# ++# FIXME: This is a complete hack. We probably need to fix the CPack ++# generators (NSIS in particular) to get rid of the need for this. ++macro(fix_cpack_component_name varname name) ++ if (${name} STREQUAL "foreach") ++ set(${varname} "boost_foreach") ++ else() ++ set(${varname} ${name}) ++ endif() ++endmacro() ++ ++ ++# ++# A big shout out to the cmake gurus @ compiz ++# ++function (colormsg) ++ string (ASCII 27 _escape) ++ set(WHITE "29") ++ set(GRAY "30") ++ set(RED "31") ++ set(GREEN "32") ++ set(YELLOW "33") ++ set(BLUE "34") ++ set(MAG "35") ++ set(CYAN "36") ++ ++ foreach (color WHITE GRAY RED GREEN YELLOW BLUE MAG CYAN) ++ set(HI${color} "1\;${${color}}") ++ set(LO${color} "2\;${${color}}") ++ set(_${color}_ "4\;${${color}}") ++ set(_HI${color}_ "1\;4\;${${color}}") ++ set(_LO${color}_ "2\;4\;${${color}}") ++ endforeach() ++ ++ set(str "") ++ set(coloron FALSE) ++ foreach(arg ${ARGV}) ++ if (NOT ${${arg}} STREQUAL "") ++ if (CMAKE_COLOR_MAKEFILE) ++ set(str "${str}${_escape}[${${arg}}m") ++ set(coloron TRUE) ++ endif() ++ else() ++ set(str "${str}${arg}") ++ if (coloron) ++ set(str "${str}${_escape}[0m") ++ set(coloron FALSE) ++ endif() ++ set(str "${str} ") ++ endif() ++ endforeach() ++ message(STATUS ${str}) ++endfunction() ++ ++# colormsg("Colors:" ++# WHITE "white" GRAY "gray" GREEN "green" ++# RED "red" YELLOW "yellow" BLUE "blue" MAG "mag" CYAN "cyan" ++# _WHITE_ "white" _GRAY_ "gray" _GREEN_ "green" ++# _RED_ "red" _YELLOW_ "yellow" _BLUE_ "blue" _MAG_ "mag" _CYAN_ "cyan" ++# _HIWHITE_ "white" _HIGRAY_ "gray" _HIGREEN_ "green" ++# _HIRED_ "red" _HIYELLOW_ "yellow" _HIBLUE_ "blue" _HIMAG_ "mag" _HICYAN_ "cyan" ++# HIWHITE "white" HIGRAY "gray" HIGREEN "green" ++# HIRED "red" HIYELLOW "yellow" HIBLUE "blue" HIMAG "mag" HICYAN "cyan" ++# "right?") ++ ++# ++# pretty-prints the value of a variable so that the ++# equals signs align ++# ++function(boost_report_value NAME) ++ string(LENGTH "${NAME}" varlen) ++ math(EXPR padding_len 30-${varlen}) ++ string(SUBSTRING " " ++ 0 ${padding_len} varpadding) ++ colormsg("${NAME}${varpadding} = ${${NAME}}") ++endfunction() ++ ++function(trace NAME) ++ if(BOOST_CMAKE_TRACE) ++ string(LENGTH "${NAME}" varlen) ++ math(EXPR padding_len 40-${varlen}) ++ string(SUBSTRING "........................................" ++ 0 ${padding_len} varpadding) ++ message("${NAME} ${varpadding} ${${NAME}}") ++ endif() ++endfunction() ++ ++# ++# pretty-prints the value of a variable so that the ++# equals signs align ++# ++function(boost_report_pretty PRETTYNAME VARNAME) ++ string(LENGTH "${PRETTYNAME}" varlen) ++ math(EXPR padding_len 30-${varlen}) ++ string(SUBSTRING " " ++ 0 ${padding_len} varpadding) ++ message(STATUS "${PRETTYNAME}${varpadding} = ${${VARNAME}}") ++endfunction() ++ ++# ++# assert that ARG is actually a library target ++# ++macro(dependency_check ARG) ++ trace(ARG) ++ if (NOT ("${ARG}" STREQUAL "")) ++ get_target_property(deptype ${ARG} TYPE) ++ if(NOT deptype MATCHES ".*_LIBRARY$") ++ set(DEPENDENCY_OKAY FALSE) ++ list(APPEND DEPENDENCY_FAILURES ${ARG}) ++ endif() ++ endif() ++endmacro() ++ ++ +diff --git a/tools/build/CMake/CMakeLists.txt b/tools/build/CMake/CMakeLists.txt +new file mode 100644 +index 0000000..a31785f +--- /dev/null ++++ b/tools/build/CMake/CMakeLists.txt +@@ -0,0 +1,77 @@ ++# ++# Copyright (C) Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See accompanying file LICENSE_1_0.txt or copy at ++# http://www.boost.org/LICENSE_1_0.txt ++# ++# ++# On unix this is '/usr/share/cmake/boost' ++# ++set(BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR ++ "share/boost-${BOOST_VERSION}/cmake" ++ CACHE STRING ++ "Directory to install Boost-${BOOST_VERSION} to") ++ ++# ++# Provides version number to sphinx build ++# ++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/source/boost_cmake_version.py.in ++ ${CMAKE_CURRENT_SOURCE_DIR}/docs/source/boost_cmake_version.py) ++ ++# ++# Makefile for sphinx build with maintainer targets ++# ++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/Makefile.in ++ ${CMAKE_CURRENT_SOURCE_DIR}/docs/Makefile) ++ ++# ++# File used by BoostConfigVersion to import targets/libs/etc ++# into users's cmake build ++# ++foreach (file ++ BoostConfig ++ BoostConfigVersion ++ BoostConfigAgnostic ++ BoostConfigVersionAgnostic) ++ configure_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/${file}.cmake.in ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/${file}.cmake @ONLY) ++endforeach() ++ ++ ++# ++# These are generated, version-specific ++# ++install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigVersion.cmake ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfig.cmake ++ DESTINATION ${BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR} ++ ) ++ ++# ++# The files that go in /share/cmake/boost that search for ++# Boost-.cmake files (user specifies ) ++# ++option(BOOST_INSTALL_CMAKE_DRIVERS ++ "Install version-agnostic BoostConfig.cmake and BoostConfigVersion.cmake to this subdirectory of CMAKE_INSTALL_PREFIX" ON) ++ ++if (BOOST_INSTALL_CMAKE_DRIVERS) ++ if (NOT BOOST_CMAKE_DRIVERS_INSTALL_DIR) ++ set(agnostic_infra_dir "share/cmake/boost") ++ else() ++ set(agnostic_infra_dir ${BOOST_CMAKE_DRIVERS_INSTALL_DIR}) ++ endif() ++ install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigAgnostic.cmake ++ DESTINATION ${agnostic_infra_dir} ++ RENAME BoostConfig.cmake ++ ) ++ install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/install_me/BoostConfigVersionAgnostic.cmake ++ DESTINATION ${agnostic_infra_dir} ++ RENAME BoostConfigVersion.cmake ++ ) ++endif() ++ ++ +diff --git a/tools/build/CMake/CTestCustom.cmake.in b/tools/build/CMake/CTestCustom.cmake.in +new file mode 100644 +index 0000000..c5ad493 +--- /dev/null ++++ b/tools/build/CMake/CTestCustom.cmake.in +@@ -0,0 +1,5 @@ ++message(FATAL_ERROR "Please customize CTestCustom.cmake, found in your build directory") ++ ++set(SITE "Set To Your Hostname") ++set(CMAKE_VERBOSE_MAKEFILE TRUE) ++ +diff --git a/tools/build/CMake/CompileTest/CMakeLists.txt b/tools/build/CMake/CompileTest/CMakeLists.txt +new file mode 100644 +index 0000000..d5a5908 +--- /dev/null ++++ b/tools/build/CMake/CompileTest/CMakeLists.txt +@@ -0,0 +1,12 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++cmake_minimum_required(VERSION 2.6) ++project(CompileTest) ++add_library(compile-test STATIC ${SOURCE}) ++include_directories(${INCLUDES}) ++set_source_files_properties(${SOURCE} ++ PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}") +\ No newline at end of file +diff --git a/tools/build/CMake/FindICU.cmake b/tools/build/CMake/FindICU.cmake +new file mode 100644 +index 0000000..9dff9f3 +--- /dev/null ++++ b/tools/build/CMake/FindICU.cmake +@@ -0,0 +1,51 @@ ++# Finds the International Components for Unicode (ICU) Library ++# ++# ICU_FOUND - True if ICU found. ++# ICU_I18N_FOUND - True if ICU's internationalization library found. ++# ICU_INCLUDE_DIRS - Directory to include to get ICU headers ++# Note: always include ICU headers as, e.g., ++# unicode/utypes.h ++# ICU_LIBRARIES - Libraries to link against for the common ICU ++# ICU_I18N_LIBRARIES - Libraries to link against for ICU internationaliation ++# (note: in addition to ICU_LIBRARIES) ++ ++# Look for the header file. ++find_path( ++ ICU_INCLUDE_DIR ++ NAMES unicode/utypes.h ++ DOC "Include directory for the ICU library") ++mark_as_advanced(ICU_INCLUDE_DIR) ++ ++# Look for the library. ++find_library( ++ ICU_LIBRARY ++ NAMES icuuc cygicuuc cygicuuc32 ++ DOC "Libraries to link against for the common parts of ICU") ++mark_as_advanced(ICU_LIBRARY) ++ ++# Copy the results to the output variables. ++if(ICU_INCLUDE_DIR AND ICU_LIBRARY) ++ set(ICU_FOUND 1) ++ set(ICU_LIBRARIES ${ICU_LIBRARY}) ++ set(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR}) ++ ++ # Look for the ICU internationalization libraries ++ find_library( ++ ICU_I18N_LIBRARY ++ NAMES icuin icui18n cygicuin cygicuin32 ++ DOC "Libraries to link against for ICU internationalization") ++ mark_as_advanced(ICU_I18N_LIBRARY) ++ if (ICU_I18N_LIBRARY) ++ set(ICU_I18N_FOUND 1) ++ set(ICU_I18N_LIBRARIES ${ICU_I18N_LIBRARY}) ++ else (ICU_I18N_LIBRARY) ++ set(ICU_I18N_FOUND 0) ++ set(ICU_I18N_LIBRARIES) ++ endif (ICU_I18N_LIBRARY) ++else(ICU_INCLUDE_DIR AND ICU_LIBRARY) ++ set(ICU_FOUND 0) ++ set(ICU_I18N_FOUND 0) ++ set(ICU_LIBRARIES) ++ set(ICU_I18N_LIBRARIES) ++ set(ICU_INCLUDE_DIRS) ++endif(ICU_INCLUDE_DIR AND ICU_LIBRARY) +diff --git a/tools/build/CMake/LinkTest/CMakeLists.txt b/tools/build/CMake/LinkTest/CMakeLists.txt +new file mode 100644 +index 0000000..4532709 +--- /dev/null ++++ b/tools/build/CMake/LinkTest/CMakeLists.txt +@@ -0,0 +1,26 @@ ++# ++# Copyright Troy D. Straszheim ++# ++# Distributed under the Boost Software License, Version 1.0. ++# See http://www.boost.org/LICENSE_1_0.txt ++# ++cmake_minimum_required(VERSION 2.6) ++ ++file(GLOB BOOST_EXPORTS "${BOOST_EXPORTS_DIR}/*.cmake") ++ ++foreach(import ++ ${DEPENDS}) ++ include(${BOOST_EXPORTS_DIR}/${import}.cmake) ++endforeach() ++ ++project(LinkTest) ++include_directories (${INCLUDES}) ++add_executable(link-test ${SOURCE}) ++set_source_files_properties(${SOURCE} ++ PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}") ++ ++message("DEPENDS=====${DEPENDS}") ++ ++target_link_libraries(link-test ++ ${LINK_LIBS} ++ ${DEPENDS}) +diff --git a/tools/build/CMake/catalog.xml.in b/tools/build/CMake/catalog.xml.in +new file mode 100644 +index 0000000..75bc4f1 +--- /dev/null ++++ b/tools/build/CMake/catalog.xml.in +@@ -0,0 +1,9 @@ ++ ++ ++ ++ ++ ++ ++ +diff --git a/tools/build/CMake/docs/.gitignore b/tools/build/CMake/docs/.gitignore +new file mode 100644 +index 0000000..7f67dd3 +--- /dev/null ++++ b/tools/build/CMake/docs/.gitignore +@@ -0,0 +1,4 @@ ++build/doctrees ++build/latex ++Makefile ++ +diff --git a/tools/build/CMake/docs/Makefile.in b/tools/build/CMake/docs/Makefile.in +new file mode 100644 +index 0000000..e51563a +--- /dev/null ++++ b/tools/build/CMake/docs/Makefile.in +@@ -0,0 +1,101 @@ ++# ++# Makefile for Sphinx documentation ++# ++ ++# You can set these variables from the command line. ++SPHINXOPTS = ++SPHINXBUILD = sphinx-build ++PAPER = ++ ++# Internal variables. ++PAPEROPT_a4 = -D latex_paper_size=a4 ++PAPEROPT_letter = -D latex_paper_size=letter ++ALLSPHINXOPTS = -d build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source ++ ++.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest ++ ++help: ++ @echo "Please use \`make ' where is one of" ++ @echo " html to make standalone HTML files" ++ @echo " dirhtml to make HTML files named index.html in directories" ++ @echo " pickle to make pickle files" ++ @echo " json to make JSON files" ++ @echo " htmlhelp to make HTML files and a HTML help project" ++ @echo " qthelp to make HTML files and a qthelp project" ++ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" ++ @echo " changes to make an overview of all changed/added/deprecated items" ++ @echo " linkcheck to check all external links for integrity" ++ @echo " doctest to run all doctests embedded in the documentation (if enabled)" ++ ++clean: ++ -rm -rf build/* ++ ++html: ++ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) build/html ++ @echo ++ @echo "Build finished. The HTML pages are in build/html." ++ ++dirhtml: ++ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) build/dirhtml ++ @echo ++ @echo "Build finished. The HTML pages are in build/dirhtml." ++ ++pickle: ++ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) build/pickle ++ @echo ++ @echo "Build finished; now you can process the pickle files." ++ ++json: ++ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) build/json ++ @echo ++ @echo "Build finished; now you can process the JSON files." ++ ++htmlhelp: ++ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) build/htmlhelp ++ @echo ++ @echo "Build finished; now you can run HTML Help Workshop with the" \ ++ ".hhp project file in build/htmlhelp." ++ ++qthelp: ++ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) build/qthelp ++ @echo ++ @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ++ ".qhcp project file in build/qthelp, like this:" ++ @echo "# qcollectiongenerator build/qthelp/boost-cmake.qhcp" ++ @echo "To view the help file:" ++ @echo "# assistant -collectionFile build/qthelp/boost-cmake.qhc" ++ ++latex: ++ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex ++ @echo ++ @echo "Build finished; the LaTeX files are in build/latex." ++ @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ ++ "run these through (pdf)latex." ++ ++changes: ++ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) build/changes ++ @echo ++ @echo "The overview file is in build/changes." ++ ++linkcheck: ++ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) build/linkcheck ++ @echo ++ @echo "Link check complete; look for any errors in the above output " \ ++ "or in build/linkcheck/output.txt." ++ ++doctest: ++ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) build/doctest ++ @echo "Testing of doctests in the sources finished, look at the " \ ++ "results in build/doctest/output.txt." ++ ++deploy: ++ make html ++ rsync --delete -va build/html/ @BOOST_CMAKE_URL@/doc/ ++ ++ make latex ++ make -C build/latex all-pdf ++ scp build/latex/boost-@BOOST_CMAKE_VERSION@.pdf @BOOST_CMAKE_URL@ ++ ++deploy-current-docs: ++ make html ++ rsync --delete -va build/html/ @BOOST_CMAKE_HOST@:@BOOST_CMAKE_DOCROOT@/current-docs/ +diff --git a/tools/build/CMake/docs/build/html/.buildinfo b/tools/build/CMake/docs/build/html/.buildinfo +new file mode 100644 +index 0000000..f482eff +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/.buildinfo +@@ -0,0 +1,4 @@ ++# Sphinx build info version 1 ++# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. ++config: 8f03172e7d0da74db617946b267b7981 ++tags: fbb0d17656682115ca4d033fb2f83ba1 +diff --git a/tools/build/CMake/docs/build/html/_images/MacInstaller.png b/tools/build/CMake/docs/build/html/_images/MacInstaller.png +new file mode 100644 +index 0000000..4beb2ec +Binary files /dev/null and b/tools/build/CMake/docs/build/html/_images/MacInstaller.png differ +diff --git a/tools/build/CMake/docs/build/html/_images/WindowsInstaller.png b/tools/build/CMake/docs/build/html/_images/WindowsInstaller.png +new file mode 100644 +index 0000000..fb0ea55 +Binary files /dev/null and b/tools/build/CMake/docs/build/html/_images/WindowsInstaller.png differ +diff --git a/tools/build/CMake/docs/build/html/_sources/add_boost_library.txt b/tools/build/CMake/docs/build/html/_sources/add_boost_library.txt +new file mode 100644 +index 0000000..6b391a1 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/add_boost_library.txt +@@ -0,0 +1,57 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. _add_boost_library_project: ++ ++Adding a Library Project ++======================== ++ ++This page describes how to introduce a new Boost library project into ++the CMake-based build system. Any Boost library that provides a ++library binary (e.g., ``boost_signals.dll``) or has regression tests ++(hopefully, every Boost library!) will need to be part of the build ++system. ++ ++To introduce a new library, which resides in the subdirectory ++``libs/libname``, follow these steps: ++ ++1. Create a new file ``libs/libname/CMakeLists.txt`` with your ++ favorite text editor. This file will contain an invocation of the ++ :ref:`boost_library_project_macro`, which ++ identifies each Boost library to the build system. The invocation ++ of the ``boost_library_project`` will look like this:: ++ ++ boost_library_project( ++ Libname ++ SRCDIRS src ++ TESTDIRS test ++ EXAMPLEDIRS test ++ ) ++ ++ where ``Libname`` is the properly-capitalization library name, ++ e.g., ``Signals`` or ``Smart_ptr``. The ``SRCDIRS src`` line should ++ only be present if your Boost library actually needs to compile a ++ library binary; header-only libraries can skip this step. The ++ ``TESTDIRS test`` line indicates that the subdirectory ``test`` ++ contains regression tests for your library. Every Boost library ++ should have these. ++ ++2. Re-run CMake (see :ref:`quickstart`) to reconfigure the source ++ tree, causing CMake to find the new Boost library. CMake can be ++ re-run either from the command line (by invoking ``cmake ++ /path/to/boost`` or ``ccmake /path/to/boost``) or, on Windows, ++ using the CMake GUI. Once you have reconfigured and generated new ++ makefiles or project files, CMake knows about your library. ++ ++3. If your library has compiled sources (i.e., it is not a header-only ++ library), follow the instructions on :ref:`add_compiled_library` to ++ get CMake building and installing your library. ++ ++4. If your library has regression tests (it *does* regression tests, ++ right?), follow the instructions on :ref:`adding_regression_tests` ++ to get CMake to build and run regression tests for your library. +diff --git a/tools/build/CMake/docs/build/html/_sources/add_compiled_library.txt b/tools/build/CMake/docs/build/html/_sources/add_compiled_library.txt +new file mode 100644 +index 0000000..0eb8c9d +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/add_compiled_library.txt +@@ -0,0 +1,239 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. _add_compiled_library: ++ ++Adding a Compiled Library to CMake ++================================== ++ ++This page describes how to add a new, compiled library to the ++CMake-based build system. If your library is a "header-only" library, ++and does not require separate compilation of object files into a ++library binary, you can safely skip this step. Before adding compiled ++libraries to CMake, make sure you have already followed the directions ++for :ref:`boost_library_project_macro`, so that the CMake system recognizes your ++Boost library. ++ ++We will assume that your library resides in the subdirectory ++``libs/libname``, and that we want to create the compiled library ++``boost_libname``. We will also assume that the sources for this ++library reside in the subdirectory ``libs/libname/src``. The source ++directory should be listed via ``SRCDIRS`` in the use of the ++:ref:`boost_library_project_macro` macro, as described in the previous ++section. Follow these steps to add this new ++library into Boost's build system. If your library has multiple source ++directories listed after ``SRCDIRS``, follow these steps for each one. ++ ++1. Create a new file ``libs/libname/src/CMakeLists.txt`` with your ++ favorite text editor. This file will contain build rules for your ++ compiled library. In this file, we will create one or more ++ invocations of the :ref:`boost_add_library_macro` macro, which adds a ++ compiled Boost library to the CMake system. This macro provides the ++ name of the library, the source files from which the library will ++ be built, and any specific compiler and linker options needed to ++ help build the library. Let's start by adding a simple library with ++ a few source files:: ++ ++ boost_add_library(libname ++ mysrc1.cpp mysrc2.cpp ++ ) ++ ++ This invocation will build several variants of the ++ ``boost_libname`` library from the source files ``mysrc1.cpp`` and ++ ``mysrc2.cpp``. For example, it will build both static and shared ++ library, single- and multi-threaded, debug and release, etc. This ++ invocation also handles the installation of these libraries. ++ ++2. For simple libraries, that's it! Rebuilding via CMake (e.g., ++ running ``make`` or reloading and rebuilding the Boost project in ++ your IDE) will build the new library, including several different ++ variants for different compilation options. Your Boost library will ++ also be included when the user installs Boost or builds a binary ++ package of Boost. Within the CMake configuration, you will also see ++ an option ``BUILD_LIBNAME``, which allows the user to decide ++ whether or not to build this Boost library. ++ ++3. Many libraries will need specific compilation options when ++ building, need to link against other libraries (Boost or ++ otherwise), or rely on certain features of the compilation process ++ to proceed. Follow the instructions in the remaining part of this ++ page to address these library-specific needs. ++ ++ ++Compilation Flags ++----------------- ++ ++Many libraries require certain compilation flags when we are building ++the library binaries themselves (rather than when the library headers ++are included by the user). For example, we want to define the macro ++``BUILDING_BOOST_LIBNAME`` when building the library. We can do so by ++passing the ``COMPILE_FLAGS`` option to ``boost_add_library``:: ++ ++ boost_add_library(libname ++ mysrc1.cpp mysrc2.cpp ++ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1" ++ ) ++ ++Now when CMake builds the library, it will pass the flag ++``-DBUILDING_BOOST_LIBNAME=1`` to the compiler. ++ ++On Windows, shared libraries are built very differently from static ++libraries. In particular, when building a shared library, one needs to ++be sure to export the right symbols from the DLL using ++``dllexport``. When users use the shared library, these symbols will be ++imported (via ``dllimport``). The typical way to handle this is to ++define a macro (say, ``BOOST_LIBNAME_DYN_LINK``) when building the ++shared library. This macro instructs the library headers to ++``dllexport`` everything that needs to be exported. We can do this with ++variant-specific compile flags, e.g., :: ++ ++ boost_add_library(libname ++ mysrc1.cpp mysrc2.cpp ++ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1" ++ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1" ++ ) ++ ++When building a shared library, the ``SHARED_COMPILE_FLAGS`` options ++will be combined with the ``COMPILE_FLAGS`` options. When building a ++static library, the ``SHARED_COMPILE_FLAGS`` options will be ++ignored. There are other options that can be specified per-feature, ++such as ``LINK_FLAGS`` and ``LINK_LIBS``; refer to the ++:ref:`boost_add_library_macro` reference for more ++information. ++ ++Linking to Other Boost Libraries ++-------------------------------- ++ ++Some Boost libraries depends on other Boost libraries. For example, ++perhaps our library uses the Boost.Filesystem library under the ++hood. We can use the ``DEPENDS`` feature of the ++:ref:`boost_add_library_macro` to state which libraries our library ++depends on. In this example, we'll link against ``boost_filesystem``:: ++ ++ ++ boost_add_library(libname ++ mysrc1.cpp mysrc2.cpp ++ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1" ++ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1" ++ DEPENDS boost_filesystem ++ ) ++ ++Now, each variant of the ``boost_libname`` library will link against ++the appropriate ``boost_filesystem`` library variant. Whenever ++``boost_filesystem`` changes, our library will be relinked ++appropriately. ++ ++Linking External Libraries/Optional Sources ++------------------------------------------- ++ ++Sometimes, Boost libraries need to link against other libraries ++supplied by the system. The primary challenge in linking against these ++libraries is *finding* those libraries, and their associated headers, ++on the system. If the library is found, we usually want to pass some ++extra compilation flags to our library and add in additional ++sources. Otherwise, we just skip these extra sources. ++ ++CMake already contains modules that search for many common system ++libraries and tools; search the ++[http://www.cmake.org/HTML/Documentation.html CMake Documentation] for ++existing modules that do what you need. For example, say we want to ++link against the system's ``PNG`` (portable network graphics) library. ++We can use the supplied ``FindPNG`` module by adding the following ++early in our ``CMakeLists.txt`` file: :: ++ ++ include(FindPNG) ++ ++Documentation for CMake modules is typically found in the module file ++itself. Look into the ``Modules`` subdirectory of your CMake ++installation, either in ``Program Files\CMake`` (on Windows) or ++``/usr/share/cmake-version`` (on Unix variants) to find the module of ++the same name. The module will typically set a variable that indicates ++whether the library was found. For the ``FindPNG`` module, this variable ++is called ``PNG_FOUND``. We can use this variable to optionally add ++sources to a variable ``EXTRA_SOURCES``:: ++ ++ include(FindPNG) ++ set(EXTRA_SOURCES) ++ if (PNG_FOUND) ++ list(APPEND EXTRA_SOURCES png.cpp) ++ endif (PNG_FOUND) ++ ++ ++CMake modules also typically define macros specifying the include ++directories needed for the library, any compile-time definitions ++required to use the library, and linking information for the library ++binary. For the ``FindPNG`` module, these variables are called ++``PNG_INCLUDE_DIR``, ``PNG_DEFINITIONS`` and ``PNG_LIBRARY``, respectively. ++ ++The include directory should be added via the CMake ++``include_directories`` macro, e.g., :: ++ ++ include_directories(${PNG_INCLUDE_DIR}) ++ ++The ``PNG_DEFINITIONS`` value should be added to the ``COMPILE_FLAGS`` ++and the ``PNG_LIBRARIES`` value to the ``LINK_LIBS`` option to the ++:ref:`boost_add_library_macro`. Using these features together, we can ++search for the ``PNG`` library on the system and optionally include ++PNG support into our library:: ++ ++ include(FindPNG) ++ set(EXTRA_SOURCES) ++ if (PNG_FOUND) ++ include_directories(${PNG_PNG_INCLUDE_DIR}) ++ list(APPEND EXTRA_SOURCES png.cpp) ++ endif (PNG_FOUND) ++ ++ boost_add_library(libname ++ mysrc1.cpp mysrc2.cpp ++ ${EXTRA_SOURCES} ++ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1 ${PNG_DEFINITIONS}" ++ LINK_LIBS "${PNG_LIBRARIES}" ++ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1" ++ DEPENDS boost_filesystem ++ ) ++ ++If CMake does not provide a module to search for the library you need, ++don't worry! You can write your own module relatively easily, ++following the examples from the CMake ``Modules`` directory or some of ++the Boost-specific examples, such as ++http://svn.boost.org/svn/boost/branches/release/tools/build/CMake/FindICU.cmake ++For a real-life example of finding system libraries and using that ++information to add optional, extra capabilities to a Boost library, ++check out the build rules for the Boost.IOStreams library at ++http://svn.boost.org/svn/boost/branches/release/libs/iostreams/src/CMakeLists.txt ++ ++.. index:: Variants ++ ++Build Variants ++-------------- ++ ++The Boost build system defines many different :ref:`VARIANTS`, which ++describe specific properties of certain builds. For example, the ++``SHARED`` feature indicates that we are building a shared library, ++while the ``MULTI_THREADED`` feature indicates that we are building a ++multi-threaded library. A specific set of features is called a ++``````variant``````, e.g., ``RELEASE`` and ``MULTI_THREADED`` and ++``SHARED``. By default, the CMake-based build system builds several ++different variants of each Boost library. ++ ++Since some features conflict with certain libraries (a threading ++library cannot be ``SINGLE_THREADED``!), one can pass additional flags ++to :ref:`boost_add_library_macro` stating which features should the library ++cannot be built with. For example, say that our library cannot be ++built as a multi-threaded library, because it uses thread-unsafe ++routines from the underlying C library. To disable multi-threaded ++variants of the library, pass the option ``NOT_MULTI_THREADED``:: ++ ++ boost_add_library(libname ++ mysrc1.cpp mysrc2.cpp ++ COMPILE_FLAGS "-DBUILDING_BOOST_LIBNAME=1" ++ SHARED_COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1" ++ DEPENDS boost_filesystem ++ NOT_MULTI_THREADED ++ ) ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/adding_regression_tests.txt b/tools/build/CMake/docs/build/html/_sources/adding_regression_tests.txt +new file mode 100644 +index 0000000..9d2618f +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/adding_regression_tests.txt +@@ -0,0 +1,115 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. index:: regression tests; adding ++.. _adding_regression_tests: ++ ++Adding Regression Tests ++======================= ++ ++This page describes how to add regression tests for a Boost library in ++the CMake-based build system. Before adding regression tests, make ++sure you have already followed the directions for ++:ref:`boost_library_project_macro` , so that the CMake system ++recognizes your Boost library project, and (if necessary) ++:ref:`add_compiled_library`. We also assume that you have already ++configured your build tree for regression testing of your library, by ++adding your library project's name to the :ref:`BUILD_TESTS` option ++described in the section :ref:`testing`. ++ ++In this page, we will assume that your library resides in the ++subdirectory ``libs/libname``, and that tests for this library are ++stored in ``libs/libname/test``. The test directory should be listed ++via :ref:`TESTDIRS` in the call of ++:ref:`boost_library_project_macro`. Follow these steps to add this new ++library into Boost's build system. If your library has multiple ++testing directories listed after :ref:`TESTDIRS`, follow these steps for ++each one. ++ ++#. Create a new file ``libs/libname/test/CMakeLists.txt`` file with ++ your favorite text editor. This file will contain instructions for ++ building and running each of the regression tests for your library. ++ ++#. If your regression test depends on any other part of boost then ++ you will need to inform the build system of such with the ++ following line:: ++ ++ boost_additional_test_dependencies(libname BOOST_DEPENDS test fusion) ++ ++ where 'libname' is the name of your library that you are testing. ++ ++#. For each test that only needs to be compiled (but not executed), ++ add a ``compile`` or ``compile_fail`` test using the ++ :ref:`boost_test_compile` or :ref:`boost_test_compile_fail` ++ macros, respectively. The most basic usage of these macros ++ provides only the test name, e.g., :: ++ ++ boost_test_compile(compile_test) ++ boost_test_compile_fail(compile_fail_test) ++ ++ This code will create two regression tests. The first, ++ ``compile_test``, will try to compile the source file ++ ``compile_test.cpp`` in the current source directory. If the ++ compile is successful, the regression test passes. If the compile ++ fails, the regression test fails. The second regression test works ++ the opposite way: it will try to compile ++ ``compile_fail_test.cpp``: if the compilation is successful, the ++ regression test fails. When you run the regression tests (e.g., by ++ calling ``ctest`` from the build directory), the regression tests ++ will execute and produce output like the following:: ++ ++ Running tests... ++ Start processing tests ++ Test project /Users/dgregor/Projects/boost-darwin ++ 1/ 2 Testing libname::compile_test Passed ++ 2/ 2 Testing libname::compile_fail_test ***Failed - supposed to fail ++ ++ 100% tests passed, 0 tests failed out of 2 ++ ++3. For any tests that need to be built and executed, use the ++ :ref:`boost_test_run` or :ref:`boost_test_run_fail` macros. Both ++ tests will build, link and execute a regression test. The ++ :ref:`boost_test_run` macro expects that executable to return an ++ exit code of zero, while the :ref:`boost_test_run_fail` macro ++ expects that executable to return a non-zero exit code. For ++ example, we might build a simple test ``simple_test`` from the ++ source file ``simple_test.cpp``:: ++ ++ boost_test_run(simple_test) ++ ++ Often, we'll want to link against our own Boost library, which we ++ do using the ``DEPENDS`` argument to ``boost_test_run``:: ++ ++ boost_test_run(big_test big_test1.cpp big_test2.cpp ++ DEPENDS boost_libname-static ++ ) ++ ++ Here, we have created a test ``big_test``, built from the source ++ files ``big_test1.cpp`` and ``big_test2.cpp``, which will link ++ against the static library for ``boost_libname``. We could create ++ a similar test that links against the shared library for ++ ``boost_libname``, passing along compilation flags specific to the ++ shared library:: ++ ++ boost_test_run(big_test_dll big_test1.cpp big_test2.cpp ++ DEPENDS boost_libname-shared ++ COMPILE_FLAGS "-DBOOST_LIBNAME_DYN_LINK=1" ++ ) ++ ++ Some tests require command-line arguments. For example, say we ++ want to pass ``-loop 1000`` to a randomized test. We can do so ++ using the ``ARGS`` argument to ``boost_test_run`` (or ++ ``boost_test_run_fail``):: ++ ++ boost_test_run(random_test ARGS "-loop" "1000" DEPENDS boost_libname-static) ++ ++ Once you have finished describing your regression tests to the ++ CMake system, you're done! Your library will now build, test, and ++ install with CMake and this behavior should be portable across ++ many different platforms. ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/build_configuration.txt b/tools/build/CMake/docs/build/html/_sources/build_configuration.txt +new file mode 100644 +index 0000000..680e3dd +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/build_configuration.txt +@@ -0,0 +1,297 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. _configure_and_build: ++ ++Configuring the buildspace ++========================== ++ ++Configuration tools ++------------------- ++ ++Included in the standard cmake distribution are the Windows `CMake` ++gui and the unix `ccmake` curses interface, which allow one to ++configure various aspects of the cmake build. On Microsoft Windows ++run the CMake configuration program from the Start menu. ++ ++Having done the initial configuration step as in :ref:`quickstart`, ++on unix run:: ++ ++ make edit_cache ++ ++in the binary directory. On windows just run the cmake gui and choose ++the binary dir from the pulldown menu. You will be presented with a list of editable build options something ++like this:: ++ ++ BOOST_PLATFORM linux ++ BUILD_BCP ON ++ BUILD_BOOST_WSERIALIZATION ON ++ BUILD_EXAMPLES NONE ++ BUILD_INSPECT ON ++ BUILD_TESTS NONE ++ CMAKE_BUILD_TYPE Release ++ CMAKE_INSTALL_PREFIX /usr/local ++ DART_TESTING_TIMEOUT 15 ++ DEBUG_COMPILE_FLAGS -g ++ DOCBOOK_AUTOCONFIG OFF ++ DOCBOOK_DTD_DIR DOCBOOK_DTD_DIR-NOTFOUND ++ DOCBOOK_XSL_DIR DOCBOOK_XSL_DIR-NOTFOUND ++ ENABLE_DEBUG ON ++ ENABLE_MULTI_THREADED ON ++ ENABLE_RELEASE ON ++ ENABLE_SHARED ON ++ ENABLE_SINGLE_THREADED OFF ++ ENABLE_STATIC ON ++ RELEASE_COMPILE_FLAGS -O3 -DNDEBUG ++ UNZIP /usr/bin/unzip ++ WINMANGLE_LIBNAMES OFF ++ XSLTPROC /usr/bin/xsltproc ++ XSLTPROC_FLAGS --xinclude ++ ++On windows, the configurables will be right in the middle of the gui; ++can't miss 'em. Note the ``[t]`` key to toggle 'advanced mode' which ++will show more options (on windows this is a selection box that says ++``Simple View`` by default, pull it down to see Advanced and Grouped ++views). ++ ++Use the arrow keys to select particular options. Press :kbd:`c` (for ++(c)onfigure) to perform the preliminary configuration of the CMake ++build system when you are done. When the options you have selected ++have stabilized, CMake will give you the (g)enerate option. If you do ++not see this option, press :kbd:`c` again to reconfigure. Try the ++:kbd:`t` key to see more options. When you're done press :kbd:`g` to ++generate makefiles and exit. ++ ++See :ref:`VARIANTS` for information about the feature-specific options ++(ie ``ENABLE_whatever`` listed above.) ++ ++.. _cmakecache.txt: ++ ++CMakeCache.txt ++============== ++ ++The same information is stored in a file `CMakeCache.txt` located in ++the build directory. For this reason, after you've done the initial ++configuration of a build directory you can invoke `ccmake` like this:: ++ ++ ccmake ++ ++or have the makefiles do it for you:: ++ ++ make edit_cache ++ ++The CMakeCache.txt file is hand-editable, though this is usually not ++as convenient as the cmake-supplied configuration tools mentioned ++above. An excerpt of this file:: ++ ++ // ++ // Enable/Disable color output during build. ++ // ++ CMAKE_COLOR_MAKEFILE:BOOL=ON ++ ++ // ++ // Mangle lib names for windows, e.g., boost_filesystem-gcc41-1_34 ++ // ++ WINMANGLE_LIBNAMES:BOOL=ON ++ ++ ++On unix, (?windows too?) the generated makefiles will detect if this ++file has been edited and will automatically rerun the makefile ++generation phase. If you should need to trigger this regeneration ++manually you may execute :: ++ ++ make rebuild_cache ++ ++.. rubric:: Deleting the cache ++ ++You may find yourself wanting to start from scratch, for instance if ++you want to switch from using Visual Studio to using NMake. To do ++this, **delete the cache file**. On windows, there is a *Delete ++Cache* option in the CMake gui's *File* menu. On unix you can simply ++``rm CMakeCache.txt``. ++ ++.. index:: CMAKE_BINARY_DIR ++.. _CMAKE_BINARY_DIR: ++ ++CMAKE_BINARY_DIR ++---------------- ++ ++This variable is set by cmake and corresponds to the toplevel of your ++``build/`` directory. ++ ++ ++.. _useful_options: ++ ++A few useful options ++-------------------- ++ ++CMAKE_OSX_ARCHITECTURES ++^^^^^^^^^^^^^^^^^^^^^^^ ++ ++ *Mac OS X users*: to build universal binaries, set this to ++ ``ppc;i386``. ++ ++.. index:: WINMANGLE_LIBNAMES ++.. _winmangle_libnames: ++ ++WINMANGLE_LIBNAMES ++^^^^^^^^^^^^^^^^^^ ++ ++This option controls whether libraries will be built with mangled-in ++compiler name/version and boost version. For example, with ++``BUILD_VERSIONED`` set to ``OFF``, the signals library looks like ++this:: ++ ++ % ls lib/*signals* ++ lib/libboost_signals-mt-d.a lib/libboost_signals-mt.a ++ lib/libboost_signals-mt-d.so* lib/libboost_signals-mt.so* ++ ++But with it on, (on a gcc 4.3 linux box):: ++ ++ % ls lib/*signal* ++ lib/libboost_signals-gcc43-mt-1_40.a ++ lib/libboost_signals-gcc43-mt-d-1_40.a ++ lib/libboost_signals-gcc43-mt-1_40.so* ++ lib/libboost_signals-gcc43-mt-d-1_40.so* ++ ++Historically this mangling has been convenient for windows users and a ++bane to unix users, thus *winmangle_libnames*. ++ ++.. note:: The on-disk names of library :ref:`variants ` are ++ always mangled with the active :ref:`features `. ++ ``WINMANGLED_LIBNAMES`` affects mangling of compiler and boost ++ version only. ++ ++.. index:: BUILD_PROJECTS ++.. _BUILD_PROJECTS: ++ ++BUILD_PROJECTS ++^^^^^^^^^^^^^^ ++ ++This is a semicolon-separated list of projects to be built, or ++``"ALL"`` (the default) for all projects, or ``"NONE"``. Projects not ++appearing in this list (if list not ``"ALL"``) are ignored; no targets in ++this project will appear. Example:: ++ ++ BUILD_PROJECTS=thread;python ++ ++See also the :ref:`boost_library_project_macro` macro. ++ ++.. note:: ++ ++ If you specify a project with link time dependencies on other ++ projects, e.g. ``filesystem``, (which depends on ``system``) and ++ omit the dependencies, you will get an error from cmake something ++ like this:: ++ ++ CMake Error at tools/build/CMake/BoostCore.cmake:736 (get_property): ++ get_property could not find TARGET boost_system-mt-shared. Perhaps it has ++ not yet been created. ++ Call Stack (most recent call first): ++ tools/build/CMake/BoostCore.cmake:1170 (boost_library_variant) ++ libs/filesystem/src/CMakeLists.txt:7 (boost_add_library) ++ ++ ++.. index:: BUILD_EXAMPLES ++.. _BUILD_EXAMPLES: ++ ++BUILD_EXAMPLES ++^^^^^^^^^^^^^^ ++ ++This is a semicolon-separated list of projects whose examples should ++be built, e.g.:: ++ ++ BUILD_EXAMPLES="iostreams;accumulators" ++ ++.. warning:: If you pass this on the commandline in a unix shell, ++ don't forget to quote the list of arguments or escape the ++ semicolons... ++ ++Per-library examples are specified with the :ref:`EXAMPLEDIRS` ++argument to the :ref:`boost_library_project_macro` macro. ++ ++.. rubric:: Note: ++ ++A project's examples will only be built if the project appears in ++**both** :ref:`BUILD_PROJECTS` and :ref:`BUILD_EXAMPLES`. I.e., the ++``BUILD_PROJECTS`` filter is applied first, and the ``BUILD_EXAMPLES`` ++filter has no ability to reverse the result. ++ ++.. index:: BUILD_TOOLS ++.. _BUILD_TOOLS: ++ ++BUILD_TOOLS ++^^^^^^^^^^^ ++ ++Similar to BUILD_EXAMPLES and BUILD_PROJECTS above, this is a ++semicolon-separated list of tools (in subdirectory ++``$BOOST_ROOT/tools/``) that should be built, e.g.:: ++ ++ BUILD_TOOLS=quickbook;wave ++ ++``"ALL"`` will build all tools, ``"NONE"`` will build none. Note that ++the values here are lowercase (only subdirectories of ``tools/`` ++matching one of the strings in the list will be traversed by cmake). ++ ++.. index:: verbosity; CMAKE_VERBOSE_MAKEFILE ++ ++CMAKE_VERBOSE_MAKEFILE ++^^^^^^^^^^^^^^^^^^^^^^ ++ ++ Displays full build commands during build. Good for debugging. ++ This option will generate permanently verbose makefiles; it is ++ generally easier to invoke make with the option ``VERBOSE=1`` ++ instead (this has the same effect, but is not persistent). ++ ++.. index:: CMAKE_CXX_COMPILER ++ ++.. _cmake_cxx_compiler: ++ ++CMAKE_CXX_COMPILER ++^^^^^^^^^^^^^^^^^^ ++ ++ Sets the compiler. If you have a nonstandard compiler and no ++ default compiler, you may have to pass the value of this option on ++ the commandline, for example:: ++ ++ cmake ../src -DCMAKE_CXX_COMPILER=gcc-4.4 ++ ++ On windows you can set this in the gui, but you will probably prefer ++ to have cmake generate a set of nmake or project files by choosing ++ an appropriate generator. ++ ++.. index:: BUILD_SOVERSIONED ++.. index:: soversion ++.. index:: soname ++.. _BUILD_SOVERSIONED: ++ ++BUILD_SOVERSIONED ++^^^^^^^^^^^^^^^^^ ++ ++Enables the setting of SOVERSION in built libraries. If ++this is on:: ++ ++ % ls -l libboost_thread*.so* ++ lrwxrwxrwx 1 troy troy 30 Oct 29 18:37 libboost_thread-mt-d.so -> libboost_thread-mt-d.so.1.41.0* ++ -rwxr-xr-x 1 troy troy 571361 Oct 29 18:37 libboost_thread-mt-d.so.1.41.0* ++ lrwxrwxrwx 1 troy troy 28 Oct 29 18:37 libboost_thread-mt.so -> libboost_thread-mt.so.1.41.0* ++ -rwxr-xr-x 1 troy troy 114963 Oct 29 18:37 libboost_thread-mt.so.1.41.0* ++ ++ % readelf -a libboost_thread-mt.so | grep SONAME ++ 0x000000000000000e (SONAME) Library soname: [libboost_thread-mt.so.1.41.0] ++ ++and if off:: ++ ++ % ls -l lib/*signals* ++ -rwxr-xr-x 1 troy troy 835522 Oct 29 15:10 lib/libboost_signals-mt-d.so* ++ -rwxr-xr-x 1 troy troy 121886 Oct 29 15:10 lib/libboost_signals-mt.so* ++ ++(Unix only, ``ON`` by default) ++ ++This setting also determines whether libraries are *installed* ++with/without soversions. See also :ref:`INSTALL_VERSIONED`. +diff --git a/tools/build/CMake/docs/build/html/_sources/build_installer.txt b/tools/build/CMake/docs/build/html/_sources/build_installer.txt +new file mode 100644 +index 0000000..38030ea +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/build_installer.txt +@@ -0,0 +1,57 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++Building a Binary Installer ++=========================== ++ ++CMake can easily build binary installers for a variety of ++platforms. On Windows and Mac OS X, CMake builds graphical ++installation programs. For other Unix operating systems, CMake ++currently builds tarballs and self-installing shell scripts. This ++CMake functionality, provided by the ++`CPack `_ program ++that is part of CMake, is used to create all of CMake's binary ++installers. We use CPack to build binary installers for Boost. To ++build a binary installer for Boost, follow these steps: ++ ++1. Build Boost using CMake. (see :ref:`quickstart`) ++ ++2. ('''Windows only''') Download and install the `Nullsoft Scriptable ++ Install System (NSIS) `_, ++ which is used to create graphical installers on Windows. Unix users ++ do not need to install any extra tools. ++ ++3. Using the same development tools for building Boost, build the ++ "package" target to create the binary installers. ++ ++ * With Microsoft Visual Studio, build the target named ``PACKAGE`` ++ * With makefiles, run ` make package``. ++ ++The output of the packaging process will be one or more binary ++packages of the form Boost-*version*\ -*platform*\ \.*extension*\ . The ++type of package will differ from one platform to another: ++ ++* On Windows: The primary output is an executable (``.exe``) that ++ provides a graphical installer. ++ ++* On Mac OS X: The primary output is a disk image (``.dmg``) that ++ contains a graphical installer package. ++ ++* On Unix: Packaging produces compressed tarballs (``.tar.gz``) and ++ a self-installing shell script (``.sh``) ++ ++ ++Windows installer: ++ ++.. image:: WindowsInstaller.png ++ ++ ++Mac installer: ++ ++.. image:: MacInstaller.png ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/build_variants.txt b/tools/build/CMake/docs/build/html/_sources/build_variants.txt +new file mode 100644 +index 0000000..0ed4eca +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/build_variants.txt +@@ -0,0 +1,283 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. index:: variants ++.. index:: features ++ ++.. _VARIANTS: ++.. _features: ++ ++Build Variants and Features ++=========================== ++ ++Different compilation and linking flags affect how source code and ++libraries are compiled. Boost's build system abstracts some of these ++properties into specific *features* of the build, which indicate (at ++a high level) what options are being used, e.g., multi-threaded, ++release-mode, shared libraries, etc. Each feature brings with it ++certain compilation options (which vary from one compiler to the next) ++that need to be used when building that variant. For example, on Unix ++systems, one often must link against the `pthread` library for ++multi-threaded programs and libraries, which requires the addition of ++the `-lpthread` flag to the link line. The ''features'' feature of the ++build system encapsulates this knowledge. ++ ++A library built with a given set of **features** is called a library ++**variant**. For example, we could have a multi-threaded release variant ++of a shared library, which would be built with all of the options ++needed to support multi-threading, optimization, elimination of ++debugging symbols, and for building a shared library. Each variant of ++a library is given a unique name based on the features in that ++variant, so that one can readily identify the library, for example, ++`libboost_signals-gcc40-mt-d.so` is the multi-threaded, debug version ++of the shared library for Boost.Signals on a typical Linux system. The ++`Boost Getting Started guide ++`_ ++describes the library naming conventions used for the variants. ++ ++The configuration and build of the library for each *feature* is ++(dis|en)abled with a boolean option ``ENABLE_``\ *feature*, which set ++in :ref:`cmakecache.txt`. The available features are: ++ ++.. _name_mangling: ++ ++Name Mangling ++------------- ++ ++Libraries have their features mangled in to distinguish the variants ++from one another. CMake's symbolic target names correspond: ++ ++============== =========== ====================== ++Feature Target Name Library Name Component ++============== =========== ====================== ++shared -shared (none) ++static -static (none) ++multithreaded -mt -mt ++release (none) (none) ++debug -debug -d ++pydebug -pydebug -yd ++============== =========== ====================== ++ ++The make target ``help`` will show the available options:: ++ ++ ``make help`` shows a list:: ++ ++ % make help | grep signals ++ ... boost_signals ++ ... boost_signals-mt-shared ++ ... boost_signals-mt-shared-debug ++ ... boost_signals-mt-static ++ ... boost_signals-mt-static-debug ++ ... boost_signals-shared ++ ... boost_signals-shared-debug ++ ... boost_signals-static ++ ... boost_signals-static-debug ++ ++And you can see the correspondence to the libraries on disk:: ++ ++ % ls lib/libboost_signals* ++ lib/libboost_signals-d.a lib/libboost_signals-mt.a ++ lib/libboost_signals-d.so lib/libboost_signals-mt.so ++ lib/libboost_signals-mt-d.a lib/libboost_signals.a ++ lib/libboost_signals-mt-d.so lib/libboost_signals.so ++ ++(Note: on most unix you will see more than this, as some of them ++contain version numbers and are symbolic links to one another). ++ ++Configuring features ++-------------------- ++ ++You can globally (en|dis)able the build of these various features ++through the following cmake variables: ++ ++.. index:: ++ single: ENABLE_STATIC ++ pair: STATIC; feature ++ ++.. _enable_static: ++ ++ENABLE_STATIC ++^^^^^^^^^^^^^ ++ ++ The `STATIC` feature identifies static builds of libraries, i.e., a ++ `.lib` (library) file on Microsoft Windows or a `.a` (archive) file ++ on Unix systems. ++ ++.. index:: ++ single: ENABLE_SHARED ++ pair: SHARED; feature ++ ++ENABLE_SHARED ++^^^^^^^^^^^^^ ++ ++ The `SHARED` feature identifies shared builds of libraries, i.e., ++ a `.dll` (dynamically linked library) file on Microsoft Windows or ++ a `.so`(shared object) or `.dylib` (dynamic library) file on Unix ++ systems. In some cases, `SHARED` variants actually refer to ++ "modules", which are a special kind of shared library on some ++ systems (e.g., Mac OS X). ++ ++.. index:: ++ single: ENABLE_DEBUG ++ pair: DEBUG; feature ++ ++ENABLE_DEBUG ++^^^^^^^^^^^^ ++ ++ The `DEBUG` feature identifies builds of libraries that retain ++ complete debugging information and prohibit optimization, making ++ these builds far easier to use for debugging programs. ++ ++.. index:: ++ single: ENABLE_RELEASE ++ pair: RELEASE; feature ++ ++ENABLE_RELEASE ++^^^^^^^^^^^^^^ ++ ++ The `RELEASE` feature identifies builds of libraries that use full ++ optimization and eliminate extraneous information such as debug ++ symbols, resulting in builds of libraries that are typically much ++ smaller than (and execute faster than) their debug library ++ counterparts. ++ ++ ++.. index:: ++ single: ENABLE_SINGLE_THREADED ++ pair: SINGLE_THREADED; feature ++ ++ENABLE_SINGLE_THREADED ++^^^^^^^^^^^^^^^^^^^^^^ ++ ++ The `SINGLE_THREADED` feature identifies builds of libraries that ++ assume that the program using them is single-threaded. These ++ libraries typically avoid costly atomic operations or locks, and ++ make use of no multi-threaded features. ++ ++ ++.. index:: ++ single: ENABLE_MULTI_THREADED ++ pair: MULTI_THREADED; feature ++ ++ENABLE_MULTI_THREADED ++^^^^^^^^^^^^^^^^^^^^^ ++ ++ The `MULTI_THREADED` feature identifies builds of libraries that ++ assume that the program using them is multi-threaded. These ++ libraries may introduce additional code (relative to their ++ single-threaded variants) that improves the behavior of the ++ library in a multi-threade context, often at the cost of ++ single-thread performance. ++ ++ ++.. index:: ++ single: ENABLE_STATIC_RUNTIME ++ pair: STATIC_RUNTIME; feature ++ ++ENABLE_STATIC_RUNTIME ++^^^^^^^^^^^^^^^^^^^^^ ++ ++ The `STATIC_RUNTIME` feature identifies builds that link against ++ the C and C++ run-time libraries statically, which directly ++ includes the code from those run-time libraries into the Boost ++ library or executable. ++ ++ ++.. index:: ++ single: ENABLE_DYNAMIC_RUNTIME ++ pair: DYNAMIC_RUNTIME; feature ++ ++ENABLE_DYNAMIC_RUNTIME ++^^^^^^^^^^^^^^^^^^^^^^ ++ ++ The `DYNAMIC_RUNTIME` feature identifies builds that link against ++ the dynamic C and C++ run-time libraries. ++ ++.. _per_feature_flags: ++ ++Per-feature Compilation and Linker Options ++------------------------------------------ ++ ++For each feature above, the Boost build system defines three variables ++used to provide compilation flags, linking flags, and extra libraries ++to link against when using that feature. These flags are automatically ++added to the build commands for variants using that feature. The ++particular flags and libraries are described by the following global ++variables: ++ ++feature_COMPILE_FLAGS ++^^^^^^^^^^^^^^^^^^^^^ ++ ++ A string containing extra flags that will be added to the compile ++ line, including macro definitions and compiler-specific flags ++ needed to enable this particular feature. ++ ++feature_LINK_FLAGS ++^^^^^^^^^^^^^^^^^^ ++ ++ A string containing extra flags that will be added to the ++ beginning of the link line. Note that these flags should '''not''' ++ contain extra libraries that one needs to link against. Those ++ should go into `feature_LINK_LIBS`. ++ ++feature_LINK_LIBS ++^^^^^^^^^^^^^^^^^ ++ ++ A CMake list containing the names of additional libraries that ++ will be linked into libraries and executables that require this ++ feature. The elements in this list should name the library (e.g., ++ `pthread`) rather than providing the link command itself (e.g., ++ `-lpthread`), so that linking will be more portable. ++ ++Each of these variables can be expanded for any feature, e.g., ++`MULTI_THREADED_LINK_LIBS` contains libraries that multi-threaded ++variants should link against. ++ ++All of the flags provided for each feature are typically detected by ++the Boost CMake configuration module in ++``tools/build/CMake/BoostConfig.cmake``. ++ ++.. note:: These are **global** per-feature flags, ie ++ RELEASE_COMPILE_FLAGS defines flags used for the compilation ++ of all ``.cpp`` files that go into release libraries. See ++ :ref:`boost_add_library_macro` for per-feature flags that apply only to ++ individual libraries. ++ ++Default Variants ++---------------- ++ ++By default, Boost's build system will build every permutation of ++libraries in the feature space ++ ++ (`STATIC` or `SHARED`) x (`DEBUG` or `RELEASE`) x ++ (`SINGLE_THREADED` or `MULTI_THREADED`) ++ ++resulting in 8 different copies of each library, modulo certain cases ++where variants are disabled [#disabled_variants]_. On Windows, where ++the distinction between static and dynamic run-time libraries is very ++important, the default build also creates permutations with ++(`STATIC_RUNTIME` or `DYNAMIC_RUNTIME`). Certain non-sensical ++combinations of libraries will automatically be eliminated, e.g., it ++does not generally make sense to create a shared library that links ++against the static C and C++ run-time libraries. However, this still ++means that the default build creates between 8 and 12 different ++variants of each Boost library. ++ ++Users who only need a few variants of each library can change which ++variants of Boost libraries are build by default using various ++configuration options. For each feature, CMake's configuration will ++contain an option `ENABLE_feature`. When the feature is ON, the build ++system will produce variants with that feature. When the feature is ++OFF, the build system will suppress variants with that feature. For ++example, toggling `ENABLE_DEBUG` to `OFF` will inhibit the creation of ++the debug variants, drastically improving overall build times. ++ ++.. rubric:: Footnotes ++ ++.. [#disabled_variants] For instance, the **SINGLE_THREADED** variant ++ of the *boost_thread* project is disabled. +diff --git a/tools/build/CMake/docs/build/html/_sources/diff.txt b/tools/build/CMake/docs/build/html/_sources/diff.txt +new file mode 100644 +index 0000000..9b3fd8b +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/diff.txt +@@ -0,0 +1,17 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++Differences between this release and upstream ++============================================= ++ ++The only differences below should be in the build system... but there ++should be a *lot* of them. :) ++ ++ ++.. literalinclude:: git_diff.txt ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/exported_targets.txt b/tools/build/CMake/docs/build/html/_sources/exported_targets.txt +new file mode 100644 +index 0000000..d3fdfda +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/exported_targets.txt +@@ -0,0 +1,257 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. _find_package: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package ++.. _FindBoost.cmake: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:FindBoost ++ ++.. _CMAKE_PREFIX_PATH: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_PREFIX_PATH ++ ++.. _CMAKE_INSTALL_PREFIX: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_INSTALL_PREFIX ++ ++.. index:: targets, exported ++.. index:: uninstalled tree, building against ++.. _exported_targets: ++ ++ ++Tricks for Building against Boost with CMake ++============================================ ++ ++Boost.CMake *exports* its targets, making developing independent ++projects against an installed boost, or simply against a build tree ++sitting on disk. There are a variety of ways to use these to ease ++configuration of boost in your external project. ++ ++.. index:: Building against uninstalled boost ++.. _uninstalled: ++ ++With an uninstalled build ++^^^^^^^^^^^^^^^^^^^^^^^^^ ++ ++You only need to do three things: ++ ++1. Add the appropriate include directory with ++ ``include_directories()``. This is the toplevel of the boost ++ source tree. ++ ++2. ``include`` the generated ``Exports.cmake`` from the build tree ++ containing the exported targets. I is located in ++ ``${``:ref:`CMAKE_BINARY_DIR`\ ``}/lib/Exports.cmake`` ++ ++3. Tell cmake about your link dependencies with ++ ``target_link_libraries``. Note that you use the **names of the ++ cmake targets**, not the shorter names that the libraries have on ++ disk. ``make help`` shows a list:: ++ ++ % make help | grep signals ++ ... boost_signals ++ ... boost_signals-mt-shared ++ ... boost_signals-mt-shared-debug ++ ... boost_signals-mt-static ++ ... boost_signals-mt-static-debug ++ ++ See also :ref:`name_mangling` for details on the naming ++ conventions. ++ ++Since these are exported targets, CMake will add appropriate *rpaths* ++as necessary; fiddling with ``LD_LIBRARY_PATH`` should not be ++necessary. ++ ++**If you get the target name wrong**, cmake will assume that you are ++talking about a library in the linker's default search path, not an ++imported target name and you will get an error when cmake tries to ++link against the nonexistent target. For instance, if I specify:: ++ ++ target_link_libraries(main boost_thread-mt-d) ++ ++on linux my error will be something like:: ++ ++ [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o ++ Linking CXX executable main ++ /usr/bin/ld: cannot find -lboost_thread-mt-d ++ collect2: ld returned 1 exit status ++ ++The problem here is that the real name of the multithreaded, shared, ++debug library **target** is ``boost_thread-mt-shared-debug``. I know this is ++confusing; much of this is an attempt to be compatible with ++boost.build. ++ ++If you are having trouble, have a look inside that file ++``Exports.cmake``. For each available target, you'll see:: ++ ++ # Create imported target boost_thread-mt-shared-debug ++ ADD_LIBRARY(boost_thread-mt-shared-debug SHARED IMPORTED) ++ ++ # Import target "boost_thread-mt-shared-debug" for configuration "Release" ++ SET_PROPERTY(TARGET boost_thread-mt-shared-debug APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) ++ SET_TARGET_PROPERTIES(boost_thread-mt-shared-debug PROPERTIES ++ IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE "pthread;rt" ++ IMPORTED_LOCATION_RELEASE "/home/troy/Projects/boost/cmake/cmaketest/build/boost/lib/libboost_thread-mt-d.so.1.41.0" ++ IMPORTED_SONAME_RELEASE "libboost_thread-mt-d.so.1.41.0" ++ ) ++ ++it is the name in the ``ADD_LIBRARY`` line that you pass to ++``target_link_libraries()``. ++ ++ ++ ++Example ++------- ++ ++There is an unpacked boost in ``/home/troy/boost-1.41.0/src`` and ++built boost in directory ``/home/troy/boost/1.41.0/build``. I have a ++program that builds from one file, ``main.cpp`` and uses boost ++threads. My ``CMakeLists.txt`` looks like this:: ++ ++ include_directories( ++ /home/troy/boost-1.41.0/src ++ /home/troy/boost-1.41.0/build/lib/Exports.cmake ++ ) ++ ++ add_executable(my_program main.cpp) ++ ++ target_link_libraries(my_program boost_thread-mt-shared-debug) ++ ++When I build, I see ++(wrapped, and some output replaced with ... for brevity):: ++ ++ % make VERBOSE=1 ++ ... ++ [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o ++ /usr/bin/c++ -I/home/troy/boost-1.41.0/src -o CMakeFiles/main.dir/main.cpp.o -c /home/troy/myproject/main.cpp ++ ... ++ linking CXX executable main ++ /usr/bin/c++ -fPIC CMakeFiles/main.dir/main.cpp.o -o main -rdynamic /home/troy/boost-1.41.0/build/lib/libboost_thread-mt-d.so.1.41.0 -lpthread -lrt -Wl,-rpath,/home/troy/boost-1.41.0/build/lib ++ ... ++ [100%] Built target main ++ ++With an installed boost ++^^^^^^^^^^^^^^^^^^^^^^^ ++ ++The process by which cmake discovers an installed boost is a big ++topic, outside the scope of this document. Boost.CMake makes every ++effort to install things cleanly and behave in a backwards-compatible ++manner. ++ ++.. index:: CMAKE_PREFIX_PATH ++.. index:: CMAKE_INSTALL_PREFIX ++.. index:: BOOST_INSTALL_CMAKE_DRIVERS ++ ++The variable :ref:`BOOST_INSTALL_CMAKE_DRIVERS` controls whether ++Boost.CMake installs two files which help out in case multiple ++versions of boost are installed. If there is only one version ++present, the situation is simpler: typically this is simply a ++matter of either installing boost to a directory that on cmake's ++built-in CMAKE_PREFIX_PATH_, or adding the directory to ++CMAKE_PREFIX_PATH_ in your environment if it is not. You can see ++built-in search path by running ``cmake --system-information`` and ++looking for ``CMAKE_SYSTEM_PREFIX_PATH``. ++ ++Try this first ++-------------- ++ ++Make a subdirectory for your project and create a file ``main.cpp``:: ++ ++ #include ++ #include ++ #include ++ ++ void helloworld() ++ { ++ std::cout << BOOST_VERSION << std::endl; ++ } ++ ++ int main() ++ { ++ boost::thread thrd(&helloworld); ++ thrd.join(); ++ } ++ ++.. index:: NO_MODULE ++ ++Create a ``CMakeLists.txt`` in the same directory containing the ++following:: ++ ++ find_package(Boost 1.41.0 COMPONENTS thread NO_MODULE) ++ ^^^^^^^^^--- NOTE THIS ++ include(${Boost_INCLUDE_DIR}) ++ add_executable(main main.cpp) ++ target_link_libraries(main ${Boost_LIBRARIES}) ++ ++The ``NO_MODULE`` above is currently **required**, pending updates to ++FindBoost.cmake_ in a cmake release. ++ ++Then run ``cmake .`` in that directory (note the dot). Then run make. ++If all is well you will see:: ++ ++ % make VERBOSE=1 ++ ... ++ [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o ++ /usr/bin/c++ -I/usr/local/boost-1.41.0/include -o CMakeFiles/main.dir/main.cpp.o -c /home/troy/Projects/boost/cmake/proj/main.cpp ++ ... ++ Linking CXX executable main ++ /usr/bin/c++ -fPIC CMakeFiles/main.dir/main.cpp.o -o main -rdynamic /usr/local/boost-1.41.0/lib/libboost_thread-mt-d.so.1.41.0 -lpthread -lrt -Wl,-rpath,/usr/local/boost-1.41.0/lib ++ ... ++ [100%] Built target main ++ ++If all is not well, set CMAKE_PREFIX_PATH_ in your environment or in ++your ``CMakeLists.txt``. Add the CMAKE_INSTALL_PREFIX_ that you used ++when you installed boost:: ++ ++ export CMAKE_PREFIX_PATH=/my/unusual/location ++ ++and try again. ++ ++Alternative: via Boost_DIR ++-------------------------- ++ ++If the above didn't work, you can help cmake find your boost ++installation by setting ``Boost_DIR`` (in your ``CMakeLists.txt`` to ++the :ref:`BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR` that was set when you ++compiled. ``Boost_DIR`` will override any other settings. ++ ++Given a (versioned) boost installation in ``/net/someplace``, ++Your CMakeLists.txt would look like this:: ++ ++ include_directories(/net/someplace/include/boost-1.41.0) ++ ++ # you can also set Boost_DIR in your environment ++ set(Boost_DIR /net/someplace/share/boost-1.41.0/cmake) ++ ++ find_package(Boost NO_MODULE) ++ ++ add_executable(main main.cpp) ++ ++ target_link_libraries(main boost_thread-mt-shared-debug) ++ ++ ++Multiple versions of boost installed ++------------------------------------ ++ ++The only recommended way to do this is the following: ++ ++* Install all versions of boost to the same CMAKE_INSTALL_PREFIX_. One ++ or more of them must have been installed with ++ :ref:`BOOST_INSTALL_CMAKE_DRIVERS` on. :ref:`INSTALL_VERSIONED` ++ should be `OFF` for one of them at most. ++ ++* Add the setting for CMAKE_INSTALL_PREFIX_ to CMAKE_PREFIX_PATH_, if ++ it is nonstandard. ++ ++* Pass ``NO_MODULE`` to find_package_ when you call it (as above). ++ ++At this point passing a version argument to find_package_ (see also ++docs for FindBoost.cmake_) should result in correct behavior. ++ ++.. rubric:: Footnotes ++ ++.. [#libsuffix] If your distribution specifies a :ref:`LIB_SUFFIX` ++ (e.g. if it installs libraries to ++ ``${``:ref:`CMAKE_INSTALL_PREFIX`\ ``/lib64``, you ++ will find `Boost.cmake` there. If the installation is ++ 'versioned', the ``Boost.cmake`` file may be in a ++ versioned subdirectory of lib, e.g. ``lib/boost-1.41.0``. +diff --git a/tools/build/CMake/docs/build/html/_sources/externals/bzip2.txt b/tools/build/CMake/docs/build/html/_sources/externals/bzip2.txt +new file mode 100644 +index 0000000..db6927a +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/externals/bzip2.txt +@@ -0,0 +1,19 @@ ++.. index:: bzip2, external dependency ++.. _bzip2: ++ ++ ++BZip2 ++===== ++ ++If ``WITH_BZIP2`` is ``ON``, BZip2 is detected via the standard cmake ++``find_package(BZip2)``. The following variables are set: ++ +++----------------------+----------------------------------------+ ++|``BZIP2_FOUND`` |Bzip2 was found | +++----------------------+----------------------------------------+ ++|``BZIP2_INCLUDE_DIR`` |Path to BZip2 includes | +++----------------------+----------------------------------------+ ++|``BZIP2_DEFINITIONS`` |Compile line flags for BZip2 | +++----------------------+----------------------------------------+ ++|``BZIP2_LIBRARIES`` |Libraries to link to when using BZip2 | +++----------------------+----------------------------------------+ +diff --git a/tools/build/CMake/docs/build/html/_sources/externals/doxygen.txt b/tools/build/CMake/docs/build/html/_sources/externals/doxygen.txt +new file mode 100644 +index 0000000..954d10c +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/externals/doxygen.txt +@@ -0,0 +1,10 @@ ++.. index:: doxygen, external dependency ++.. _doxygen: ++ ++ ++Doxygen ++======= ++ ++If ``WITH_DOXYGEN`` is ``ON``, doxygen is detected via the standard ++cmake ``find_package(Doxygen)``. See the cmake documentation for more ++information +diff --git a/tools/build/CMake/docs/build/html/_sources/externals/expat.txt b/tools/build/CMake/docs/build/html/_sources/externals/expat.txt +new file mode 100644 +index 0000000..55fa297 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/externals/expat.txt +@@ -0,0 +1,10 @@ ++.. index:: expat, external dependency ++.. _expat: ++ ++ ++Expat ++===== ++ ++If ``WITH_EXPAT`` is ``ON``, expat is detected via the standard ++cmake ``find_package(Expat)``. See the cmake documentation for more ++information +diff --git a/tools/build/CMake/docs/build/html/_sources/externals/icu.txt b/tools/build/CMake/docs/build/html/_sources/externals/icu.txt +new file mode 100644 +index 0000000..4eb7ac5 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/externals/icu.txt +@@ -0,0 +1,22 @@ ++.. index:: ICU, external dependency ++.. _icu: ++ ++ ++ICU (International Components for Unicode) ++========================================== ++ ++If ``WITH_ICU`` is ``ON``, ICU is detected via the standard cmake ++``find_package(ICU)``. The following variables are set: ++ +++-----------------------+----------------------------------------+ ++|``ICU_FOUND`` |ON if icu was found | +++-----------------------+----------------------------------------+ ++|``ICU_I18N_FOUND`` |ON if the i18n part (whatever that is) | ++| |of ICU was found. | +++-----------------------+----------------------------------------+ ++|``ICU_INCLUDE_DIRS`` |path to ICU headers | +++-----------------------+----------------------------------------+ ++|``ICU_LIBRARIES`` |full paths to ICU libraries | +++-----------------------+----------------------------------------+ ++|``ICU_I18N_LIBRARIES`` |full paths to the i18n libraries | +++-----------------------+----------------------------------------+ +diff --git a/tools/build/CMake/docs/build/html/_sources/externals/index.txt b/tools/build/CMake/docs/build/html/_sources/externals/index.txt +new file mode 100644 +index 0000000..0b5dd3c +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/externals/index.txt +@@ -0,0 +1,44 @@ ++.. index:: External Dependencies; selectively disabling ++ ++.. _external_dependencies: ++ ++External Dependencies ++===================== ++ ++Each external dependency has an associated option ``WITH_``\ ++*dependency* that controls whether detection of the dependency will ++happen at all. These options default to ``ON``. ++ ++Each external will set a variable *external*\ ``_FOUND`` if detection ++was successful. If this variable is empty (or ``FALSE``, 0, or ++``NO``) detection will be reattempted each time you configure. ++ ++To **disable** the detection of any given external dependency and ++thereby any libraries or features that depend on it, set option ++``WITH_``\ *dependency* to ``NO`` (or ``OFF``, etc.):: ++ ++ % cmake ../src -DWITH_PYTHON=OFF ++ -- The C compiler identification is GNU ++ -- The CXX compiler identification is GNU ++ ... more output ... ++ -- ++ -- Python: ++ -- Disabled since WITH_PYTHON=OFF ++ -- ++ ... more output ... ++ -- + python ++ -- +-- disabled since PYTHON_FOUND is false ++ -- ++ ++.. toctree:: ++ :maxdepth: 3 ++ ++ bzip2 ++ doxygen ++ expat ++ icu ++ mpi ++ python ++ xsltproc ++ valgrind ++ zlib +diff --git a/tools/build/CMake/docs/build/html/_sources/externals/mpi.txt b/tools/build/CMake/docs/build/html/_sources/externals/mpi.txt +new file mode 100644 +index 0000000..09c337e +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/externals/mpi.txt +@@ -0,0 +1,10 @@ ++.. index:: MPI, external dependency ++.. _MPI: ++ ++ ++MPI ++=== ++ ++If ``WITH_MPI`` is ``ON``, MPI is detected via the standard ++cmake ``find_package(MPI)``. See the cmake documentation for more ++information. +diff --git a/tools/build/CMake/docs/build/html/_sources/externals/python.txt b/tools/build/CMake/docs/build/html/_sources/externals/python.txt +new file mode 100644 +index 0000000..dcceff0 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/externals/python.txt +@@ -0,0 +1,88 @@ ++.. index:: Python ++.. _python_external: ++ ++======== ++ Python ++======== ++ ++By default, Boost.CMake will use the python detection built in to ++cmake. The relevant variables (command line or environment) are: ++ ++.. index:: PYTHON_EXECUTABLE ++.. _python_executable: ++ ++PYTHON_EXECUTABLE ++----------------- ++ ++The path to the python executable, e.g. ``/usr/local/Python-3.1.1/bin/python3`` ++ ++.. index:: PYTHON_DEBUG_LIBRARIES ++.. _python_debug_libraries: ++ ++PYTHON_DEBUG_LIBRARIES ++---------------------- ++ ++The path to the python debug library, typically only used by developers. ++ ++.. index:: PYTHON_LIBRARIES ++.. _python_libraries: ++ ++PYTHON_LIBRARIES ++---------------- ++ ++The path to the python library, ++e.g. ``/usr/local/Python-3.1.1/lib/libpython3.1.so`` ++ ++.. index:: PYTHON_INCLUDE_PATH ++.. index:: Python.h ++.. _python_include_path: ++ ++PYTHON_INCLUDE_PATH ++------------------- ++ ++The path to the include directory, ++e.g. ``/usr/local/Python-3.1.1/include/python3.1``. Note that cmake ++will check for the file ``Python.h`` in this directory and complain if ++it is not found. ++ ++There are two ways to specify these, on the command line or via ++environment variables. Environment variables will override command ++line flags if present. ++ ++.. rubric:: Command line ++ ++:: ++ ++ % cmake ../src -DPYTHON_EXECUTABLE=/path/to/bin/python3 \ ++ -DPYTHON_LIBRARIES=/path/to/libpython3.1.so \ ++ -DPYTHON_INCLUDE_PATH=/path/to/include/python3.1 ++ ++.. rubric:: Exported environment variables ++ ++:: ++ ++ % export PYTHON_EXECUTABLE=/path/to/bin/python ++ % export PYTHON_LIBRARIES=/path/to/libpython3.1.so ++ % export PYTHON_INCLUDE_PATH=/path/to/include/python3.1 ++ % cmake ../src ++ ++Either way, in the configuration output, you should see something ++like:: ++ ++ -- Testing PYTHON_EXECUTABLE from environment ++ -- Ok, using /path/to/bin/python3 ++ -- Testing PYTHON_LIBRARIES from environment ++ -- Ok, using /path/to/lib/libpython3.1.so. ++ -- Skipping optional PYTHON_DEBUG_LIBRARIES: not set. ++ -- Testing PYTHON_INCLUDE_PATH from environment ++ -- Ok, using /path/to/include/python3.1 ++ -- Python: ++ -- executable: /path/to/bin/python3 ++ -- lib: /path/to/lib/libpython3.1.so ++ -- debug lib: ++ -- include path: /path/to/include/python3.1 ++ ++**NOTE**, once successfully detected, the python configuration will ++not be redetected. To modify, edit the relevant entries in your ++CMakeCache.txt, or delete it entirely to trigger redetection. ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/externals/valgrind.txt b/tools/build/CMake/docs/build/html/_sources/externals/valgrind.txt +new file mode 100644 +index 0000000..e283a30 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/externals/valgrind.txt +@@ -0,0 +1,27 @@ ++.. index:: Valgrind, external dependency ++.. _Valgrind: ++ ++ ++Valgrind ++======== ++ ++Boost.cmake does a standard path search for ``valgrind``. If found, ++it sets the following variables ++ ++ +++----------------------------------------+----------------------------------------+ ++|``VALGRIND_FOUND`` |Was valgrind found | +++----------------------------------------+----------------------------------------+ ++|``VALGRIND_FLAGS`` |"--tool=memcheck" | +++----------------------------------------+----------------------------------------+ ++|``VALGRIND_EXECUTABLE`` |path to the executable | +++----------------------------------------+----------------------------------------+ ++ ++.. index:: WITH_VALGRIND ++ ++If the setting ``WITH_VALGRIND`` is ``ON``, (see ++:ref:`external_dependencies`) then tests will be run under valgrind. ++Tip: CTest's ``-V`` flag will show you the exact commands run and ++output of each test. ++ ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/externals/xsltproc.txt b/tools/build/CMake/docs/build/html/_sources/externals/xsltproc.txt +new file mode 100644 +index 0000000..9fbc951 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/externals/xsltproc.txt +@@ -0,0 +1,18 @@ ++.. index:: Xsltproc, external dependency ++.. _Xsltproc: ++ ++ ++Xsltproc ++======== ++ ++Boost.cmake does a standard path search for ``xsltproc``. If found, ++it sets the following variables ++ ++ +++----------------------------------------+----------------------------------------+ ++|``XSLTPROC_FOUND`` |Was xsltproc found | +++----------------------------------------+----------------------------------------+ ++|``XSLTPROC_FLAGS`` |"--xinclude" | +++----------------------------------------+----------------------------------------+ ++|``XSLTPROC_EXECUTABLE`` |path to the executable | +++----------------------------------------+----------------------------------------+ +diff --git a/tools/build/CMake/docs/build/html/_sources/externals/zlib.txt b/tools/build/CMake/docs/build/html/_sources/externals/zlib.txt +new file mode 100644 +index 0000000..3c4e86c +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/externals/zlib.txt +@@ -0,0 +1,17 @@ ++.. index:: zlib, external dependency ++.. _zlib: ++ ++ ++Zlib ++===== ++ ++If ``WITH_ZLIB`` is ``ON``, Zlib is detected via the standard cmake ++``find_package(Zlib)``. The following variables are set: ++ +++----------------------+----------------------------------------+ ++|``ZLIB_FOUND`` |Zlib was found | +++----------------------+----------------------------------------+ ++|``ZLIB_INCLUDE_DIR`` |Path to Zlib includes | +++----------------------+----------------------------------------+ ++|``ZLIB_LIBRARIES`` |Libraries to link to when using Zlib | +++----------------------+----------------------------------------+ +diff --git a/tools/build/CMake/docs/build/html/_sources/faq.txt b/tools/build/CMake/docs/build/html/_sources/faq.txt +new file mode 100644 +index 0000000..614bd19 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/faq.txt +@@ -0,0 +1,42 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. _faq: ++ ++FAQ ++=== ++ ++A collection of asked questions. ++ ++ ++How do I set ``/D _SECURE_SCL=0`` on the commandline for release builds? ++------------------------------------------------------------------------ ++ ++* Run the cmake gui, pick the source and build directories, click ++ *Configure* ++ ++* Find the entry called ``RELEASE_COMPILE_FLAGS`` and modify to taste. ++ (See also :ref:`per_feature_flags`) ++ ++* Click *Configure* again, settings will be regenerated with your ++ flags intact. ++ ++* Click *Generate* ++ ++* Run Visual Studio, navigate to the build directory, open ++ ``Boost.sln``, build, profit. ++ ++Note: I couldn't find the magic checkbox to tell visual studio show me ++what commands it executes while building. I switched the cmake gui to ++'advanced mode' and change CMAKE_VERBOSE_MAKEFILES to TRUE. Is there a ++more 'visualstudioesque' way to do this? ++ ++-t ++ ++ ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/find_package_boost.txt b/tools/build/CMake/docs/build/html/_sources/find_package_boost.txt +new file mode 100644 +index 0000000..c53289c +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/find_package_boost.txt +@@ -0,0 +1,60 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. index:: find_package(Boost) ++.. index:: FindBoost.cmake ++ ++.. _find_package_boost: ++ ++find_package(Boost) ++=================== ++ ++See :ref:`install_customization` for more information about variables ++used in this section. ++ ++If you plan on using the ``FindBoost.cmake`` packaged with cmake ++versions 2.8.0 and earlier, (that is, third party packages that build ++with cmake need to find this boost installation via the cmake command ++``find_package(Boost...``), you will need to layout your boost ++installation in a way that is consistent with the way boost was ++installed by bjam during the many Dark Years. Michael Jackson of ++bluequartz.net reports success with the configuration below. He ++refers to boost.cmake variables :ref:`install_versioned`, ++:ref:`boost_include_install_dir`, and :ref:`boost_lib_install_dir`:: ++ ++ > Set INSTALL_VERSIONED=OFF ++ > set BOOST_INCLUDE_INSTALL_DIR=include/boost-1_41 ++ > set BOOST_LIB_INSTALL_DIR=lib ++ > ++ > and then go. I also set an environment variable BOOST_ROOT to the ++ > CMAKE_INSTALL_PREFIX. ++ > ++ > In my CMake file I have the following; ++ > ++ > # ---------- Find Boost Headers/Libraries ----------------------- ++ > SET (Boost_FIND_REQUIRED TRUE) ++ > SET (Boost_FIND_QUIETLY TRUE) ++ > set (Boost_USE_MULTITHREADED TRUE) ++ > set (Boost_USE_STATIC_LIBS TRUE) ++ > SET (Boost_ADDITIONAL_VERSIONS "1.41" "1.41.0") ++ > ++ > if ( NOT MXA_BOOST_HEADERS_ONLY) ++ > set (MXA_BOOST_COMPONENTS program_options unit_test_framework ++ > test_exec_monitor) ++ > endif() ++ > FIND_PACKAGE(Boost COMPONENTS ${MXA_BOOST_COMPONENTS} ) ++ > INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) ++ > LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) ++ > ++ > This successfully works with the FindBoost.cmake that is included with CMake 2.6.4 ++ > ++ ++Currently in development there are other, perhaps easier, ways to ++detect your boost installations if you aren't dependent on this older ++FindBoost; see :ref:`exported_targets`. ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/git.txt b/tools/build/CMake/docs/build/html/_sources/git.txt +new file mode 100644 +index 0000000..6658d28 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/git.txt +@@ -0,0 +1,190 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. highlight:: git_shell ++ ++.. _hacking_cmake_with_git: ++ ++Hacking Boost.CMake with Git ++============================ ++ ++Boost-cmake, in addition to using an alternative build system, uses ++alternate version control. This makes boost.cmake feasable: without ++distributed version control it would be very difficult to maintain a ++build system against upstream boost. ++ ++This document will review some common version-control procedures for ++those who are unfamiliar with git. More documentation is available at ++`Hacking Boost via Git ++`_. ++ ++ ++The first step is to get `Git `_. Any recent ++version will do. On windows, git downloads come with a bash shell, so ++the commandline interface is essentially identical. There is also ++`TortoiseGit `_, which is ++evolving quickly and quite usable. ++ ++I just want to try the HEAD of the branch ++---------------------------------------------------- ++ ++Pick some directory to work in. Here I'll use ``/tmp``. My prompt is ++a percent sign. Clone the repository to a subdirectory called ++``src``. This will take a while the first time, after that things ++will be very fast. ++ ++:: ++ ++ % git clone git://gitorious.org/boost/cmake.git src ++ Initialized empty Git repository in /tmp/src/.git/ ++ remote: Counting objects: 425396, done. ++ remote: Compressing objects: 100% (129689/129689), done. ++ remote: Total 425396 (delta 298454), reused 419119 (delta 292368) ++ Receiving objects: 100% (425396/425396), 135.56 MiB | 1260 KiB/s, done. ++ Resolving deltas: 100% (298454/298454), done. ++ Checking out files: 100% (23865/23865), done. ++ ++inside this directory you'll see the branch that is checked out:: ++ ++ % cd src ++ % git branch -l ++ * 1.41.0 ++ ++This means I'm on the ``1.41.0`` branch, and the files are checked ++out:: ++ ++ % ls ++ CMakeLists.txt boost/ bootstrap.sh* libs/ tools/ ++ CTestConfig.cmake boost-build.jam build/ more/ wiki/ ++ INSTALL boost.css doc/ people/ ++ Jamroot boost.png index.htm rst.css ++ LICENSE_1_0.txt bootstrap.bat index.html status/ ++ ++Now you can go ahead and do your out-of-source build. ++ ++I want to svn update ++-------------------- ++ ++When new changes arrive upstream, you'll want to ``git pull``:: ++ ++ % git pull ++ remote: Counting objects: 310, done. ++ remote: Compressing objects: 100% (45/45), done. ++ remote: Total 205 (delta 154), reused 203 (delta 152) ++ Receiving objects: 100% (205/205), 49.59 KiB, done. ++ Resolving deltas: 100% (154/154), completed with 81 local objects. ++ From git://gitorious.org/boost/cmake ++ 1818334..b945719 1.41.0 -> origin/1.41.0 ++ Updating 1818334..b945719 ++ Fast forward ++ CMakeLists.txt | 6 +- ++ CTestConfig.cmake | 5 +- ++ ... ++ 83 files changed, 1071 insertions(+), 537 deletions(-) ++ ++.. _makeremote: ++ ++But I want a different branch than that ++--------------------------------------- ++ ++``git branch -r`` will show your 'remote' branches:: ++ ++ % git branch -r ++ origin/1.40.0 ++ origin/1.41.0 ++ origin/HEAD -> origin/1.41.0 ++ origin/master ++ ++This shows that in *origin* (the repository you cloned from), there ++are *1.40.0*, *1.41.0*, and *master* branches. To switch to e.g. the ++*1.40.0* branch, you make a local branch that 'tracks' the upstream ++branch:: ++ ++ % git checkout -b 1.40.0 origin/1.40.0 ++ Branch 1.40.0 set up to track remote branch 1.40.0 from origin. ++ Switched to a new branch '1.40.0' ++ ++Now you will see this new local branch in your branch list:: ++ ++ % git branch -l ++ * 1.40.0 # the star means this one is checked out ++ 1.41.0 ++ ++And your status will show it as well:: ++ ++ % git status ++ # On branch 1.40.0 ++ nothing to commit (working directory clean) ++ ++now, any *git pull*\ -ing you do will come from the upstream *1.40.0* ++branch in to your local 1.40.0 branch. ++ ++I have changes, how do I make a patch? ++-------------------------------------- ++ ++Just change the files and ``git diff``:: ++ ++ % git diff ++ diff --git a/CMakeLists.txt b/CMakeLists.txt ++ index d2bc809..d5e055e 100644 ++ --- a/CMakeLists.txt ++ +++ b/CMakeLists.txt ++ @@ -27,6 +27,10 @@ ++ cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR) ++ project(Boost) ++ ++ +# ++ +# These are my changes ++ +# ++ + ++ ########################################################################## ++ # Version information # ++ ########################################################################## ++ @@ -323,6 +327,7 @@ endif() ++ ++ mark_as_advanced(BOOST_EXPORTS_FILE BOOST_INSTALL_EXPORTS_FILE) ++ ++ +# and some here too ++ # Add build rules for documentation ++ add_subdirectory(doc) ++ ++and mail it in. ++ ++Oops, I screwed up and want to revert ++------------------------------------- ++ ++Use ``git reset``:: ++ ++ % git reset --hard HEAD ++ HEAD is now at e26008e Don't build tools by default. All they do is break. ++ ++I want to switch branches ++------------------------- ++ ++If you've already created a local branch, i.e. it appears in the ++output of ``git branch -l``:: ++ ++ % git branch -l ++ * 1.40.0 ++ 1.41.0 ++ ++Then just check it out:: ++ ++ % git checkout 1.41.0 ++ Switched to branch '1.41.0' ++ ++ % git branch -l ++ 1.40.0 ++ * 1.41.0 ++ ++ % git status ++ # On branch 1.41.0 ++ nothing to commit (working directory clean) ++ ++If not (i.e. it only appears in the output of ``git branch -r``), ++see :ref:`makeremote`. +diff --git a/tools/build/CMake/docs/build/html/_sources/index.txt b/tools/build/CMake/docs/build/html/_sources/index.txt +new file mode 100644 +index 0000000..489a329 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/index.txt +@@ -0,0 +1,141 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++Boost-CMake |release| ++===================== ++ ++Boost.\ `CMake `_ (or :ref:`alt.boost ++`) is the boost distribution that all the cool kids are ++using. The effort started in earnest at `BoostCon '07 ++`_; by the end of which it was possible to do ++a basic build of boost with cmake. In 2009, the project moved out to ++git version control. Today, ``Boost.CMake`` is stable, mature, and ++supported by the developers, a large base of expert users, and ++occasionally by the authors of CMake itself. ++ ++.. index:: Mailing List, IRC ++ ++**boost-cmake mailing list** ++ ++ http://lists.boost.org/mailman/listinfo.cgi/boost-cmake ++ ++**IRC** ++ ++ ``#boost-cmake`` on the `freenode network `_ ++ ++**CMake home page** ++ ++ http://www.cmake.org ++ ++**Source code** ++ ++ Boost.CMake is distributed *separately* from upstream boost. Code ++ is in a `git `_ repository at ++ http://gitorious.org/boost/cmake.git. These documents correspond to ++ tag |release|. See also :ref:`hacking_cmake_with_git`. ++ ++**Tarballs** ++ ++ Tarballs and zipfiles are available at ++ http://sodium.resophonic.com/boost-cmake/ in subdirectory |release|. ++ ++Users's guide ++============= ++ ++.. toctree:: ++ :maxdepth: 3 ++ ++ quickstart ++ build_configuration ++ build_variants ++ exported_targets ++ install_customization ++ find_package_boost ++ faq ++ externals/index ++ git ++ diff ++ ++Developer's guide ++================= ++ ++.. toctree:: ++ :maxdepth: 3 ++ ++ individual_libraries ++ add_boost_library ++ add_compiled_library ++ testing ++ adding_regression_tests ++ build_installer ++ notes_by_version ++ ++Reference ++========= ++ ++.. toctree:: ++ :maxdepth: 1 ++ ++ reference/boost_library_project ++ reference/boost_module ++ reference/boost_add_library ++ reference/boost_add_executable ++ reference/boost_python_module ++ reference/boost_additional_test_dependencies ++ reference/boost_test_compile ++ reference/boost_test_compile_fail ++ reference/boost_test_run ++ reference/boost_test_run_fail ++ ++About this documentation ++======================== ++ ++This documentation was created with `Sphinx ++`_. ++ ++The source is in the restructuredtext files in subdirectory ++``tools/build/CMake/docs/source/``. Hack on them (see the ++`documentation for Sphinx `_). ++When you're ready to see the html:: ++ ++ make html ++ ++Once you've written a ton of docs, push them someplace where I can see ++them (or use ``git diff`` to send a patch). ++ ++Release checklist ++----------------- ++ ++* Update ``BOOST_CMAKE_VERSION`` in toplevel ``CMakeLists.txt`` ++* Update notes by version in ``tools/build/CMake/docs/notes_by_version.rst`` ++* Reconfig cmake with ``BOOST_MAINTAINER`` set to ON ++* set UPSTREAM_TAG in root ``CMakeLists.txt`` ++* make make-diff ++* Rebuild docs and commit ++* Tag commit with ``BOOST_CMAKE_VERSION`` ++* ``make do-release`` ++* push tag ++* update wiki ++ ++.. index:: alt.boost ++ single: Anarchists; Lunatics, Terrorists and ++ single: Lunatics; Anarchists Terrorists and ++ single: Terrorists; Anarchists Lunatics and ++ ++.. _alt_boost: ++ ++Why "alt.boost"? ++---------------- ++ ++The 'alt' is a reference to the ``alt.*`` Usenet hierarchy. Here, as ++in Usenet, *alt* stands for `Anarchists, Lunatics and Terrorists ++`_. This independent effort explores ++and applies alternate techniques/technologies in the areas of build, ++version control, testing, packaging, documentation and release ++management. ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/individual_libraries.txt b/tools/build/CMake/docs/build/html/_sources/individual_libraries.txt +new file mode 100644 +index 0000000..54f0feb +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/individual_libraries.txt +@@ -0,0 +1,160 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++Building individual libraries with cmake ++======================================== ++ ++In a configured cmake workspace, ``make help`` will display a list of available targets. Example:: ++ ++ % make help ++ The following are some of the valid targets for this Makefile: ++ ... all (the default if no target is provided) ++ ... clean ++ ... depend ++ ... edit_cache ++ ... install ++ ... install/local ++ ... install/strip ++ ... list_install_components ++ ... package ++ ... package_source ++ ... rebuild_cache ++ ... boost_date_time ++ ... boost_date_time-mt-shared ++ ... boost_date_time-mt-shared-debug ++ ... boost_date_time-mt-static ++ ... boost_date_time-mt-static-debug ++ ... boost_date_time-shared ++ ... boost_date_time-shared-debug ++ ... boost_date_time-static ++ ... boost_date_time-static-debug ++ ... boost_filesystem ++ ... boost_filesystem-mt-shared ++ ... boost_filesystem-mt-shared-debug ++ ... boost_filesystem-mt-static ++ ... boost_filesystem-mt-static-debug ++ ... boost_filesystem-shared ++ ... boost_filesystem-shared-debug ++ ... boost_filesystem-static ++ ... boost_filesystem-static-debug ++ [etc] ++ ++ ++You can build any target by passing it as an argument:: ++ ++ ++ % make boost_signals-static ++ [ 0%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/trackable.cpp.o ++ [ 0%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/connection.cpp.o ++ [100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/named_slot_map.cpp.o ++ [100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/signal_base.cpp.o ++ [100%] Building CXX object libs/signals/src/CMakeFiles/boost_signals-static.dir/slot.cpp.o ++ Linking CXX static library ../../../lib/libboost_signals-gcc41-1_35.a ++ [100%] Built target boost_signals-static ++ ++Preprocessing ++------------- ++ ++In build directories corresponding to a source library containing a ++``CMakeLists.txt`` containing a :ref:`boost_add_library_macro` invocation ++(e.g. ``build/libs/signals/src, build/libs/filesystem/src``), more ++detailed targets are available:: ++ ++ % cd libs/signals/src ++ % make help ++ The following are some of the valid targets for this Makefile: ++ [many omitted] ++ ... signal_base.o ++ ... signal_base.i ++ ... signal_base.s ++ ... slot.o ++ ... slot.i ++ ... slot.s ++ ++ ++making ``slot.i`` will run ``slot.cpp`` through the preprocessor:: ++ ++ % make slot.i ++ Preprocessing CXX source to CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i ++ ++If you are always interested in seeing the compiler flags you can ++enable ``CMAKE_VERBOSE_MAKEFILES`` via ``ccmake``, or for a one-off ++just pass ``VERBOSE=1`` on the command line:: ++ ++ % make VERBOSE=1 slot.i ++ make[1]: Entering directory `/home/troy/Projects/boost/branches/CMake/Boost_1_35_0-build' ++ Preprocessing CXX source to CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i ++ cd /home/troy/Projects/boost/branches/CMake/Boost_1_35_0-build/libs/signals/src && /usr/bin/gcc-4.1 ++ -DBOOST_ALL_NO_LIB=1 -DBOOST_SIGNALS_NO_LIB=1 -Dboost_signals_mt_shared_EXPORTS -fPIC ++ -I/home/troy/Projects/boost/branches/CMake/Boost_1_35_0 -O3 -DNDEBUG -DBOOST_SIGNALS_DYN_LINK=1 ++ -pthread -D_REENTRANT -E /home/troy/Projects/boost/branches/CMake/Boost_1_35_0/libs/signals/src/slot.cpp > CMakeFiles/boost_signals-mt-shared.dir/slot.cpp.i ++ ++Tests and examples ++------------------ ++ ++Tests and examples are typically grouped into subdirectories, e.g.:: ++ ++ libs/ ++ iostreams/ ++ test/ ++ examples/ ++ ++CMake builds a parallel directory hierarchy in the build directory. If ++you are working on, say, the examples for iostreams, you can just ++``cd`` into the directory $BUILDDIR/libs/iostreams/examples and type ++``make``:: ++ ++ % cd libs/iostreams/example ++ % make ++ [ 0%] Built target boost_iostreams-mt-static ++ Scanning dependencies of target iostreams-examples-boost_back_inserter_example ++ [ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-boost_back_inserter_example.dir/boost_back_inserter_example.cpp.o ++ Linking CXX executable ../../../bin/iostreams-examples-boost_back_inserter_example ++ [ 0%] Built target iostreams-examples-boost_back_inserter_example ++ Scanning dependencies of target iostreams-examples-container_device_example ++ [ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-container_device_example.dir/container_device_example.cpp.o ++ Linking CXX executable ../../../bin/iostreams-examples-container_device_example ++ [ 0%] Built target iostreams-examples-container_device_example ++ Scanning dependencies of target iostreams-examples-container_sink_example ++ [ 0%] Building CXX object libs/iostreams/example/CMakeFiles/iostreams-examples-container_sink_example.dir/container_sink_example.cpp.o ++ ++Building individual targets, ignoring prerequisites ++--------------------------------------------------- ++ ++If you find yourself working on a compiler error in a file that takes ++a long time to compile, waiting for make to check all of the ++prerequisites might become tedious. You can have make skip the ++prerequisite testing (you do this at your own risk), by appending ++``/fast`` to the target name. For instance, bcp depends on the ++``system``, ``filesystem`` ``regex`` and ``prg_exec_monitor`` ++libraries:: ++ ++ % cd tools/bcp ++ % make bcp ++ [ 0%] Built target boost_system-mt-static ++ [ 0%] Built target boost_filesystem-mt-static ++ [ 50%] Built target boost_regex-mt-static ++ [ 75%] Built target boost_prg_exec_monitor-mt-static ++ [ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/add_path.cpp.o ++ ++if I make ``bcp/fast``, the dependencies are assumed to be built ++already:: ++ ++ % make bcp/fast ++ [ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/add_path.cpp.o ++ [ 75%] Building CXX object tools/bcp/CMakeFiles/bcp.dir/bcp_imp.cpp.o ++ (etc) ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/install_customization.txt b/tools/build/CMake/docs/build/html/_sources/install_customization.txt +new file mode 100644 +index 0000000..514be24 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/install_customization.txt +@@ -0,0 +1,204 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. _install_customization: ++ ++Customizing the install ++======================= ++ ++Here you'll find ways to customize your installation. If you're ++trying to make the install play nice with cmake's ``find_package``, ++see :ref:`find_package_boost`. ++ ++.. index:: CMAKE_INSTALL_PREFIX ++ single: installation ++ ++.. _cmake_install_prefix: ++ ++CMAKE_INSTALL_PREFIX ++-------------------- ++ ++This is a standard cmake option that sets the path to which boost ++will be installed. ++ ++.. index:: DESTDIR ++ ++CMake generates makefiles that play nice with ``DESTDIR``. e.g. ++if you configure like this:: ++ ++ cmake ../src -DCMAKE_INSTALL_PREFIX=/tmp/blah ++ ++and install with ``DESTDIR=/foo make install``, you'll get files ++installed to ``/foo/tmp/blah``. ++ ++.. index:: LIB_SUFFIX ++.. _lib_suffix: ++ ++LIB_SUFFIX ++---------- ++ ++This defines the subdirectory of ``CMAKE_INSTALL_PREFIX`` to which ++libraries will be installed. It is empty by default. For example, ++if I'm on 64-bit fedora, I want the libs installed to ++``/usr/lib64``, I'd use:: ++ ++ cmake ../src -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=64 ++ ++.. index:: INSTALL_VERSIONED ++.. _install_versioned: ++ ++INSTALL_VERSIONED ++----------------- ++ ++**ON** by default on unix, **OFF** on windows. ++ ++This is a different mangling than :ref:`WINMANGLE_LIBNAMES`: this ++variable controls whether boost versions will be mangled into the ++paths into which boost is installed. This option **has effect only ++when CMake is run the first time**: they will be set as explained ++below the first time thereafter not modified, so that the paths are ++customizable by users. (ie If you have configured a build and change ++this option, it will have no effect, you must start "from scratch") ++ ++.. rubric:: Example ++ ++For boost version 1.41.0, with this option ON, the installation tree ++is:: ++ ++ $CMAKE_INSTALL_PREFIX/ ++ include/ ++ boost-1.41.0/ ++ boost/ ++ version.hpp ++ ... ++ lib/ ++ boost-1.41.0/ ++ libboost_signals-mt-d.so ++ ... ++ ++and without it, :: ++ ++ $CMAKE_INSTALL_PREFIX/ ++ include/ ++ boost/ ++ version.hpp ++ ... ++ lib/ ++ boost/ ++ libboost_signals-mt-d.so ++ ... ++ ++**Note:** ``lib/`` above will contain :ref:`LIB_SUFFIX` if set. ++ ++See also :ref:`BUILD_SOVERSIONED` ++ ++The relative lib and include pathnames can be controlled individually ++with the following two variables: ++ ++.. index:: BOOST_LIB_INSTALL_DIR ++.. _boost_lib_install_dir: ++ ++BOOST_LIB_INSTALL_DIR ++--------------------- ++ ++The directory to which libs will be installed under ++:ref:`CMAKE_INSTALL_PREFIX`. ++ ++.. index:: BOOST_INCLUDE_INSTALL_DIR ++.. _boost_include_install_dir: ++ ++BOOST_INCLUDE_INSTALL_DIR ++------------------------- ++ ++The directory to which boost header files will be installed under ++:ref:`CMAKE_INSTALL_PREFIX`. ++ ++.. index:: BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR ++.. _boost_cmake_infrastructure_install_dir: ++ ++BOOST_CMAKE_INFRASTRUCTURE_INSTALL_DIR ++-------------------------------------- ++ ++This is a directory to which the targets from this boost install will ++be exported, by default ``${CMAKE_INSTALL_PREFIX}/share/boost-``\ ++|version|\ ``/cmake``: this significanly eases detection of boost ++installations by CMake. The name of the files are ++``BoostConfig.cmake`` and ``BoostConfigVersion.cmake`` [#findpackage]_. ++See :ref:`exported_targets` for ++more information about how users employ this file. ++ ++If this is a full path, it will be used directly, otherwise it will be ++interpreted relative to ``${CMAKE_INSTALL_PREFIX}``. ++ ++.. index:: BOOST_INSTALL_CMAKE_DRIVERS ++.. _boost_install_cmake_drivers: ++ ++BOOST_INSTALL_CMAKE_DRIVERS ++--------------------------- ++ ++Specifies whether generic cmake driver files should be installed, ++see the next option to customize where. This variable is ++``ON`` by default. ++ ++BOOST_CMAKE_DRIVERS_INSTALL_DIR ++------------------------------- ++ ++There are two optional version-agnostic driver files that can be ++installed to a central location, by default ++``${CMAKE_INSTALL_PREFIX}/share/boost-``\ |version|\ ``/cmake``. ++ ++named ``BoostConfig.cmake`` and ``BoostConfigVersion.cmake``. These ++two files coordinate with Boost-|version|.cmake to enable cmake ++developers who use both boost and cmake to find local boost ++installations via the standard cmake incantation:: ++ ++ find_package(Boost 1.41.0 COMPONENTS thread iostreams) ++ ++These driver files should be the same from release to release. ++ ++This variable allows modification of this location; If this is a full ++path, it will be used directly, otherwise it will be interpreted ++relative to ``${CMAKE_INSTALL_PREFIX}``. ++ ++.. index:: BOOST_EXPORTS_FILE ++.. _BOOST_EXPORTS_FILE: ++ ++BOOST_EXPORTS_FILE ++------------------ ++ ++This is the path *in the build tree* to the file that will contain ++CMake exported targets, by default it is:: ++ ++ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Exports.cmake ++ ++See :ref:`exported_targets` for information on how to use this handy ++file when building against an **uninstalled** boost. *This variable ++has no effect on installation, and is only useful if building separate ++cmake projects against an uninstalled boost.* ++ ++If this is a full path, it will be used directly, otherwise it will be ++interpreted relative to ``${CMAKE_BINARY_DIR}``. ++ ++.. index:: BOOST_INSTALL_EXPORTS_FILE ++.. _BOOST_INSTALL_EXPORTS_FILE: ++ ++BOOST_EXPORTS_INSTALL_DIR ++------------------------- ++ ++This is the path to which exported targest will be installed. By ++default it is ``${BOOST_LIB_INSTALL_DIR}``. This must be a ++**relative** path. ++ ++See :ref:`exported_targets` for information on how to use this handy ++file to build against an **installed** boost. ++ ++ ++ ++.. rubric:: Footnotes ++ ++.. [#findpackage] See also the cmake docs for ``find_package()``. +diff --git a/tools/build/CMake/docs/build/html/_sources/notes_by_version.txt b/tools/build/CMake/docs/build/html/_sources/notes_by_version.txt +new file mode 100644 +index 0000000..19be5e0 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/notes_by_version.txt +@@ -0,0 +1,226 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++Notes by Boost Version ++====================== ++ ++1.41.0.cmake1 ++------------------- ++ ++Again, innumerable tiny tweaks. ++ ++1.41.0.beta1.cmake1 ++------------------- ++ ++This is the first cmake beta based on upstream ``Boost_1_41_0_beta1``. ++There are *way* too many enhancements to mention. ++ ++1.41.0.cmakebeta4 ++----------------- ++ ++* CMake minimum 2.6.4 required (found bugs with 2.6.2) ++* Move MPI detection up ++* Clean up output ++ ++1.41.0.cmakebeta3 ++----------------- ++ ++* :ref:`variants` names switched to ``ENABLE_`` to distinguish ++ from ``BUILD_*`` options. ++ ++* Many docs improvements ++ ++* Special targets for the boost-cmake maintainer ++ ++* :ref:`BUILD_PROJECTS` ``(= NONE|ALL|proj1;proj2;...;projN)`` ++ variable for building only certain projects. ++ ++* :ref:`BUILD_EXAMPLES` ``(= NONE|ALL|proj1;proj2;...;projN)`` ++ variable for building examples only of certain projects. ++ ++* :ref:`LIB_SUFFIX` for installing libs to nonstandard lib directory ++ name, e.g. for LIB_SUFFIX=64, libs installed to ``$PREFIX/lib64`` ++ ++* Testing improvements: cmake now runs 2408 tests, 99% of which pass. ++ This isn't the full set, upstream is a moving target. The few ++ remaining failures (assuming upstream is bug-free) are assumed to be ++ problems in the testing setup, not the underlying libraries. ++ ++* Python: python location customizable via command line or environment ++ variables, see :ref:`external_dependencies`. ++ ++(1.41.0.cmakebeta1 and 2 omitted) ++ ++1.41.0 (upstream) ++----------------- ++ ++This release (as released by upstream Boost) does **not** contain ++CMake support. See above for independenly released CMake versions. ++ ++1.40.0.cmake4 ++------------- ++ ++Backport features from 1.41.0.cmakebeta3 ++ ++1.40.0.cmake3 ++------------- ++ ++Skipped ++ ++1.40.0.cmake2 ++------------- ++ ++* Modularization disabled... this can waste your source directory ++ and was causing confusion. ++* Docs tagged with specific boost-cmake release version. ++ ++1.40.0.cmake1 ++------------- ++ ++From the boost-cmake list:: ++ ++ > As of now, your Boost 1.40.0 branch builds and installs without error ++ > for me on Windows (Intel 11.1, Visual Studio 2009, Visual Studio 2010 ++ > Beta 1), Linux (GCC 4.2, GCC 4.4, Intel 11.1), and Mac OS X 10.6 (GCC ++ > 4.2, Intel 11.1). ++ ++This version also includes fixes for cmake version 2.8 (as of this ++writing, in beta). ++ ++Special thanks in alphabetical order: ++ ++* Claudio Bley ++* Justin Holewinski ++* Philip Lowman ++ ++1.40.0.cmake0 ++------------- ++ ++This version works on windows with MSVC and linux with gcc. ++ ++1.40.0 ++------ ++ ++This version is **broken** in the svn distribution. See later ++releases with the ``.cmakeN`` suffix. ++ ++1.38.0 and 1.39.0 ++----------------- ++ ++.. warning:: -DCMAKE_IS_EXPERIMENTAL=ORLY_YARLY ++ ++ This guard variable is included in releases of Boost.CMake through ++ version 1.38. You just need to set this variable to some value (be ++ creative) when running cmake for the first time to disable the ++ guard. ++ ++Boost.CMake was included as an experimental system for the first time. ++It is perfectly capable of doing the basic build and install of boost. ++You *must* pass the argument :: ++ ++ -DCMAKE_IS_EXPERIMENTAL=ORLY ++ ++to the initial run of cmake, or you will see an intimidating message ++explaining that Boost.CMake != Boost.Build. It looks like this:: ++ ++ -- ########################################################################## ++ -- ++ -- Only Boost.Build is officially supported. ++ -- ++ -- This is not Boost.Build. ++ -- ++ -- This is an alternate, cmake-based build system that is currently under development. ++ -- To try it out, invoke CMake with the argument ++ -- -DCMAKE_IS_EXPERIMENTAL=YES_I_KNOW ++ -- Or use the gui to set the variable CMAKE_IS_EXPERIMENTAL to some value. ++ -- This will only be necessary the first time. ++ -- ++ -- For more information on boost-cmake see the wiki: ++ -- https://svn.boost.org/trac/boost/wiki/CMake ++ -- ++ -- Subscribe to the mailing list: ++ -- http://lists.boost.org/mailman/listinfo.cgi/boost-cmake ++ -- ++ -- NOTE: Please ask questions about this build system on the boost-cmake list, ++ -- not on other boost lists. ++ -- ++ -- And/or check the archives: ++ -- http://news.gmane.org/gmane.comp.lib.boost.cmake ++ -- ++ -- ########################################################################## ++ CMake Error at CMakeLists.txt:61 (message): ++ Magic variable CMAKE_IS_EXPERIMENTAL unset. ++ ++ ++ -- Configuring incomplete, errors occurred! ++ ++Again, f you see this, just set that guard variable to something, to ++demonstrate your tenacity and dedication. Then things will work fine. ++ ++.. rubric:: Quick and dirty HOWTO ++ ++:: ++ ++ % mkdir /tmp/boost ++ % cd /tmp/boost ++ % svn co https://svn.boost.org/svn/boost/tags/release/Boost_1_38_0 src ++ % mkdir build ++ % cd build ++ % cmake -DCMAKE_IS_EXPERIMENTAL=ORLY -DCMAKE_INSTALL_PREFIX=/path/to/installdir ../src ++ ++At this point, you have two options: you either want to leave boost in ++place and use it there, or you want to install it to a particular ++location. ++ ++**In-place** ++ ++ If you're competent to specify header/library paths ++ yourself and want to build in place:: ++ ++ % make ++ ++ and your libraries will be in /tmp/boost/build/lib, and the headers in ++ /tmp/boost/src, (where you'd expect them to be). ++ ++**Installed to some location** ++ ++ This will install boost to ``lib/`` and ``include/`` under the ++ ``CMAKE_INSTALL_PREFIX`` given above:: ++ ++ % make modularize # shuffles some headers around ++ % make install ++ ++.. warning:: ++ ++ In versions 1.38 and 1.39, if you want to ``make install``, you ++ *must* ``make modularize`` first. This is an intermediate step ++ that we expect to go away in future versions. ++ ++Also note that cmake supports ``DESTDIR`` for making .deb and .rpm ++packages; see the standard cmake documentation ++ ++Known Issues ++^^^^^^^^^^^^ ++ ++* There isn't much support for building/running tests within boost in ++ these releases. ++* In version 1.39, the ``BOOST_VERSION_MINOR`` is wrong: it is set to ++ 1.38. You can set this manually by looking for ++ ``BOOST_VERSION_MINOR`` in the toplevel ``CMakeLists.txt`` ++* The boost build names the ``boost_prg_exec_monitor`` and ++ ``boost_unit_test_framework`` libraries with an additional trailing ++ ``-s``. You will probably need to modify your build if you use ++ these libraries. ++ ++ ++1.35.0 - 1.37 ++------------- ++ ++There was a CMake branch that built these releases, but Boost.CMake ++was not included in the official distribution. ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/quickstart.txt b/tools/build/CMake/docs/build/html/_sources/quickstart.txt +new file mode 100644 +index 0000000..0a52835 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/quickstart.txt +@@ -0,0 +1,248 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++ ++.. _quickstart: ++ ++Quickstart ++========== ++ ++This page describes how to configure and build Boost with CMake. By ++following these instructions, you should be able to get CMake, ++configure a Boost build tree to your liking with CMake, and then ++build, install, and package Boost libraries. ++ ++Download CMake ++-------------- ++ ++You can get it here: http://www.cmake.org/HTML/Download.html ++ ++There are precompiled binaries for CMake on several different ++platforms. The installation of these pre-compiled binaries is mostly ++self-explanatory. If you need to build your own copy of CMake, please ++see the `CMake installation instructions ++`_. ++ ++.. note:: ++ ++ In these instructions, we will do things such that the Boost source ++ tree (with CMake build files) is available in the directory ++ ``$BOOST/src`` and that the build will happen in ``$BOOST/build``:: ++ ++ $BOOST/ ++ src/ # (source checked out to here) ++ build/ # (build output here) ++ ++ Note that it is *not* actually necessary to set any environment ++ variable ``BOOST``, this is a convention used in this document. ++ ++Checkout / download the code ++---------------------------- ++ ++Tarballs and zipfiles are avaiable at ++http://sodium.resophonic.com/boost-cmake in subdirectory |release|. ++ ++Boost.CMake is distributed *separately* from upstream boost. Code is ++in a `git `_ repository at ++http://gitorious.org/boost/cmake.git. These documents correspond to ++tag |release|. You can clone the repository locally and then check out ++the tag:: ++ ++ git clone git://gitorious.org/boost/cmake.git src ++ cd src ++ git checkout ++ ++where ```` is |release| ++ ++On Unix ++------- ++ ++Create and change to the directory that will hold the binaries that ++CMake build:: ++ ++ mkdir $BOOST/build ++ cd $BOOST/build ++ ++.. _unix_configure: ++ ++Configure ++^^^^^^^^^ ++ ++Run the CMake configuration program, providing it with the Boost ++source directory:: ++ ++ cmake -DCMAKE_INSTALL_PREFIX=/somewhere $BOOST/src ++ ++(:ref:`CMAKE_INSTALL_PREFIX` defaults to ``/usr/local`` on unix and ++``C:\\Program Files\Boost`` on windows). Replace ``/somewhere`` above ++with a path you like if the defaults aren't okay. You'll see output ++from ``cmake``. It looks somewhat like this:: ++ ++ -- Check for working C compiler: /usr/bin/gcc ++ -- Check for working C compiler: /usr/bin/gcc -- works ++ -- Check size of void* ++ -- Check size of void* - done ++ -- Check for working CXX compiler: /usr/bin/c++ ++ -- Check for working CXX compiler: /usr/bin/c++ -- works ++ -- Scanning subdirectories: ++ -- + io ++ -- + any ++ -- + crc ++ -- + mpl ++ ++ (etc, etc) ++ ++ -- + program_options ++ -- + ptr_container ++ -- + type_traits ++ -- Configuring done ++ -- Generating done ++ -- Build files have been written to: $BOOST/build ++ ++The directory ``$BOOST/build`` should now contain a bunch of generated ++files, including a top level ``Makefile``, something like this:: ++ ++ % ls ++ CMakeCache.txt CPackConfig.cmake Makefile ++ cmake_install.cmake libs/ CMakeFiles/ ++ CPackSourceConfig.cmake bin/ lib/ ++ ++Build and Install ++^^^^^^^^^^^^^^^^^ ++ ++Now build and install boost:: ++ ++ make install ++ ++You'll see:: ++ ++ Scanning dependencies of target boost_date_time-mt-shared ++ [ 0%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/greg_month.cpp.o ++ [ 0%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/greg_weekday.cpp.o ++ [ 1%] Building CXX object libs/date_time/src/CMakeFiles/boost_date_time-mt-shared.dir/gregorian/date_generators.cpp.o ++ Linking CXX shared library ../../../lib/libboost_date_time-mt.so ++ [ 1%] Built target boost_date_time-mt-shared ++ ++ (etc etc) ++ ++ [100%] Built bcp ++ ++ (etc etc) ++ ++ -- Installing: /tmp/flanboost/lib/libboost_wave-mt-d.a ++ -- Installing: /tmp/flanboost/lib/libboost_wave-mt-d.so ++ -- Removed runtime path from "/tmp/flanboost/lib/libboost_wave-mt-d.so" ++ -- Installing: /tmp/flanboost/bin/bcp ++ -- Installing: /tmp/flanboost/bin/inspect ++ ++And you're done. Once the build completes (which make take a while, if ++you are building all of the Boost libraries), the Boost libraries will ++be in a predictable layout under the directory passed to ++:ref:`CMAKE_INSTALL_PREFIX` (default ``/usr/local``) ++ ++Windows ++------- ++ ++There are two different sets of directions: visual studio, which is ++quite specific, and nmake, which is much like the Unix version, above. ++ ++.. index:: Visual Studio ++ ++.. _vs_configure: ++ ++Configuration for Visual Studio ++^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ++ ++Run CMake by selecting it from the Start menu. ++ ++* Use the *Browse...* button next to *Where is the source code* to ++ point CMake at the Boost source code in ``$BOOST\src``. ++* Use the second *Browse...* button to next to *Where to build the ++ binaries* to select the directory where Boost will build binaries, ++ ``$BOOST\build``. ++* Click *Configure* a first time to configure Boost, which will search ++ for various libraries on your system and prepare the build. CMake ++ will ask you what kind of project files or make files to build. If ++ you're using Microsoft Visual Studio, select the appropriate version ++ to generate project files. Otherwise, you can use Borland's make ++ files. If you're using NMake, see the next section. ++* On an XP box with VS9 one sees roughly this in the output window at ++ the bottom:: ++ ++ Check for working C compiler: cl ++ Check for working C compiler: cl -- works ++ Detecting C compiler ABI info ++ Detecting C compiler ABI info - done ++ Check for working CXX compiler: cl ++ Check for working CXX compiler: cl -- works ++ Detecting CXX compiler ABI info ++ Detecting CXX compiler ABI info - done ++ Boost version 1.41.0 ++ Found PythonInterp: C:/Python26/python.exe ++ Found PythonLibs: C:/Python26/libs/python26.lib ++ Boost compiler: msvc ++ Boost toolset: vc90 ++ Boost platform: windows ++ Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) ++ Build name: msvc-9.0-windows ++ + preprocessor ++ + concept_check ++ ... ++ + units ++ + wave ++ Configuring done ++ ++* The messages about 'missing doxygen' and whatnot are not ++ showstoppers for now, so long as configuration is successful. You ++ will be given the opportunity to tune build options in the CMake GUI ++ (see :ref:`configure_and_build` for more detail). They will ++ initially appear red. Click *Configure* again when you are done ++ editing them. The one thing that you may wish to configure as part ++ of this 'quickstart' is ``CMAKE_INSTALL_PREFIX``. ++* Finally, click *Generate* to generate project files. ``Boost.sln``, ++ the VS solution file, will appear in the *where to build the ++ binaries* directory from the cmake gui. ++ ++.. index:: NMake ++.. _NMake: ++ ++Configuration for NMake ++^^^^^^^^^^^^^^^^^^^^^^^ ++ ++* Start a `Visual Studio Command Prompt` from the start menu. This ++ will spawn a command prompt window with certain env variables set. ++ CMake will detect these and automatically choose to generate NMake ++ files. ++ ++* cd to $BOOST/build and execute:: ++ ++ cmake ..\src ++ ++ You will see output very similar to that on unix, see ++ :ref:`unix_configure`. ++ ++Build -- Visual Studio ++^^^^^^^^^^^^^^^^^^^^^^ ++ ++ Start up Visual Studio, load the solution or project ``Boost`` from ++ the Boost build directory you set in the CMake configuration ++ earlier. Then, just click *Build* to build all of Boost. ++ ++Build -- NMake ++^^^^^^^^^^^^^^ ++ ++ Execute ``nmake`` from the command prompt in the build directory. ++ ++Installation ++^^^^^^^^^^^^ ++ ++The installation of Boost's headers and compiled libraries uses the ++same tools as building the library. With Microsoft Visual Studio, just ++load the Boost solution or project and build the 'INSTALL' target to ++perform the installation. With NMake, ``nmake install``. ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_add_executable.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_add_executable.txt +new file mode 100644 +index 0000000..85c517e +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_add_executable.txt +@@ -0,0 +1,140 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. index:: boost_add_executable ++.. _boost_add_executable_macro: ++ ++boost_add_executable ++-------------------- ++ ++Adds an executable to the build ++ ++.. cmake:: boost_add_executable(exename source1 source2 ...) ++ ++ :param source1 source2...: sourcefiles ++ :param COMPILE_FLAGS flag1 flag2 ...: (optional) compile flags ++ :param LINK_FLAGS flag1 flag2 ...: (optional) link flags ++ :param feature_LINK_LIBS lib1 lib2 ...: (optional) link libraries ++ :param DEPENDS dep1 dep2 ...: (optional) intraboost dependencies ++ :param OUTPUT_NAME name: (optional) output name ++ :param NO_INSTALL: (optional) don't install ++ ++where exename is the name of the executable (e.g., "wave"). source1, ++source2, etc. are the source files used to build the executable, e.g., ++cpp.cpp. If no source files are provided, "exename.cpp" will be ++used. ++ ++This macro has a variety of options that affect its behavior. In ++several cases, we use the placeholder "feature" in the option name ++to indicate that there are actually several different kinds of ++options, each referring to a different build feature, e.g., shared ++libraries, multi-threaded, debug build, etc. For a complete listing ++of these features, please refer to the CMakeLists.txt file in the ++root of the Boost distribution, which defines the set of features ++that will be used to build Boost libraries by default. ++ ++The options that affect this macro's behavior are: ++ ++.. _COMPILE_FLAGS: ++.. index:: COMPILE_FLAGS ++ ++* **COMPILE_FLAGS** -- Provides additional compilation flags that will be ++ used when building the executable. ++ ++.. _feature_COMPILE_FLAGS: ++.. index:: feature_COMPILE_FLAGS ++ ++* **feature_COMPILE_FLAGS** -- Provides additional compilation flags that ++ will be used only when building the executable with the given ++ feature (e.g., ``SHARED_COMPILE_FLAGS`` when we're linking against ++ shared libraries). Note that the set of features used to build the ++ executable depends both on the arguments given to ++ boost_add_executable (see the "feature" argument description, below) ++ and on the user's choice of variants to build. ++ ++.. _LINK_FLAGS: ++.. index:: LINK_FLAGS ++ ++* **LINK_FLAGS** -- Provides additional flags that will be passed to the ++ linker when linking the executable. This option should not be used ++ to link in additional libraries; see ``LINK_LIBS`` and ``DEPENDS``. ++ ++.. _feature_LINK_FLAGS: ++.. index:: feature_LINK_FLAGS ++ ++* **feature_LINK_FLAGS** -- Provides additional flags that will be passed ++ to the linker when linking the executable with the given feature ++ (e.g., ``MULTI_THREADED_LINK_FLAGS`` when we're linking a multi-threaded ++ executable). ++ ++.. _LINK_LIBS: ++.. index:: LINK_LIBS ++ ++* **LINK_LIBS** -- Provides additional libraries against which the ++ executable will be linked. For example, one might provide "expat" as ++ options to ``LINK_LIBS``, to state that the executable will link against ++ the expat library binary. Use ``LINK_LIBS`` for libraries external to ++ Boost; for Boost libraries, use ``DEPENDS``. ++ ++.. _feature_LINK_LIBS: ++.. index:: feature_LINK_LIBS ++ ++* **feature_LINK_LIBS** -- Provides additional libraries to link against ++ when linking an executable built with the given feature. ++ ++.. _DEPENDS: ++.. index:: DEPENDS ++ ++* **DEPENDS** -- States that this executable depends on and links ++ against a Boost library. The arguments to ``DEPENDS`` should be the ++ unversioned name of the Boost library, such as ++ "boost_filesystem". Like ``LINK_LIBS``, this option states that the ++ executable will link against the stated libraries. Unlike ``LINK_LIBS``, ++ however, ``DEPENDS`` takes particular library variants into account, ++ always linking to the appropriate variant of a Boost library. For ++ example, if the ``MULTI_THREADED`` feature was requested in the call to ++ boost_add_executable, ``DEPENDS`` will ensure that we only link against ++ multi-threaded libraries. ++ ++.. _feature: ++.. index:: feature ++ ++* **feature** -- States that the executable should always be built using a ++ given feature, e.g., ``SHARED`` linking (against its libraries) or ++ ``MULTI_THREADED`` (for multi-threaded builds). If that feature has ++ been turned off by the user, the executable will not build. ++ ++.. _NO_INSTALL: ++.. index:: NO_INSTALL ++ ++* **NO_INSTALL** -- Don't install this executable with the rest of ++ Boost. ++ ++.. _OUTPUT_NAME: ++.. index:: OUTPUT_NAME ++ ++* **OUTPUT_NAME** -- If you want the executable to be generated ++ somewhere other than the binary directory, pass the path (including ++ directory and file name) via the ``OUTPUT_NAME`` parameter. ++ ++.. rubric:: Example ++ ++:: ++ ++ boost_add_executable(wave cpp.cpp ++ DEPENDS boost_wave boost_program_options ++ boost_filesystem ++ boost_serialization ++ ) ++ ++ ++.. rubric:: Where Defined ++ ++This macro is defined in the Boost Core module in ++``tools/build/CMake/BoostCore.cmake`` ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_add_library.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_add_library.txt +new file mode 100644 +index 0000000..eeb668b +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_add_library.txt +@@ -0,0 +1,200 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. index:: boost_add_library ++.. _boost_add_library_macro: ++ ++boost_add_library ++----------------- ++ ++This macro creates a new Boost library target that generates a compiled library ++(.a, .lib, .dll, .so, etc) from source files. This routine will ++actually build several different variants of the same library, with ++different compilation options, as determined by the set of "default" ++library variants. ++ ++.. cmake:: boost_add_library(libname source1 source2 ...) ++ ++ :param source1 source2 ...: relative paths to source files ++ :type COMPILE_FLAGS: optional ++ :param COMPILE_FLAGS: flags to pass when compiling all variants ++ :type feature_COMPILE_FLAGS: optional ++ :param feature_COMPILE_FLAGS: compile flags when *feature* is on ++ :type LINK_FLAGS: optional ++ :param LINK_FLAGS: link flags for all variants ++ :type feature_LINK_FLAGS: optional ++ :param feature_LINK_FLAGS: link flags for *feature* ++ :type LINK_LIBS: optional ++ :param LINK_LIBS: lib1 lib2 ... ++ :type feature_LINK_LIBS: optional ++ :param feature_LINK_LIBS: lib1 lib2 ... ++ :type DEPENDS: optional ++ :param DEPENDS: libdepend1 libdepend2 ... ++ :param STATIC_TAG: ++ :type MODULE: boolean ++ :param MODULE: ++ :type NOT_feature: boolean ++ :param NOT_feature: ++ :type EXTRA_VARIANTS: optional ++ :param EXTRA_VARIANTS: variant1 variant2 ... ++ ++where `libname` is the name of Boost library binary (e.g., ++"boost_regex") and `source1`, `source2`, etc. are the source files used ++to build the library, e.g., `cregex.cpp`. ++ ++This macro has a variety of options that affect its behavior. In ++several cases, we use the placeholder "feature" in the option name ++to indicate that there are actually several different kinds of ++options, each referring to a different build feature, e.g., shared ++libraries, multi-threaded, debug build, etc. For a complete listing ++of these features, see :ref:`variants`. ++ ++The options that affect this macro's behavior are: ++ ++.. index:: COMPILE_FLAGS ++ ++COMPILE_FLAGS ++^^^^^^^^^^^^^ ++ ++ Provides additional compilation flags that will be ++ used when building all variants of the library. For example, one ++ might want to add ``"-DBOOST_SIGNALS_NO_LIB=1"`` through this option ++ (which turns off auto-linking for the Signals library while ++ building it). ++ ++feature_COMPILE_FLAGS ++^^^^^^^^^^^^^^^^^^^^^ ++ ++ Provides additional compilation flags that ++ will be used only when building variants of the library that ++ include the given feature. For example, ++ `MULTI_THREADED_COMPILE_FLAGS` are additional flags that will be ++ used when building a multi-threaded variant, while ++ `SHARED_COMPILE_FLAGS` will be used when building a shared library ++ (as opposed to a static library). ++ ++LINK_FLAGS ++^^^^^^^^^^ ++ ++ Provides additional flags that will be passed to the ++ linker when linking each variant of the library. This option ++ should not be used to link in additional libraries; see `LINK_LIBS` ++ and `DEPENDS`. ++ ++feature_LINK_FLAGS ++^^^^^^^^^^^^^^^^^^ ++ ++ Provides additional flags that will be passed ++ to the linker when building variants of the library that contain a ++ specific feature, e.g., `MULTI_THREADED_LINK_FLAGS`. This option ++ should not be used to link in additional libraries; see ++ feature_LINK_LIBS. ++ ++LINK_LIBS ++^^^^^^^^^ ++ ++ Provides additional libraries against which each of the ++ library variants will be linked. For example, one might provide ++ "expat" as options to LINK_LIBS, to state that each of the library ++ variants will link against the expat library binary. Use LINK_LIBS ++ for libraries external to Boost; for Boost libraries, use DEPENDS. ++ ++feature_LINK_LIBS ++^^^^^^^^^^^^^^^^^ ++ ++ Provides additional libraries for specific ++ variants of the library to link against. For example, ++ `MULTI_THREADED_LINK_LIBS` provides extra libraries to link into ++ multi-threaded variants of the library. ++ ++DEPENDS ++^^^^^^^ ++ ++ States that this Boost libraries depends on and links ++ against another Boost library. The arguments to `DEPENDS` should be ++ the unversioned name of the Boost library, such as ++ "boost_filesystem". Like `LINK_LIBS`, this option states that all ++ variants of the library being built will link against the stated ++ libraries. Unlike `LINK_LIBS`, however, `DEPENDS` takes particular ++ library variants into account, always linking the variant of one ++ Boost library against the same variant of the other Boost ++ library. For example, if the boost_mpi_python library `DEPENDS` on ++ boost_python, multi-threaded variants of boost_mpi_python will ++ link against multi-threaded variants of boost_python. ++ ++STATIC_TAG ++^^^^^^^^^^ ++ ++ States that the name of static library variants on ++ Unix need to be named differently from shared library ++ variants. This particular option should only be used in rare cases ++ where the static and shared library variants are incompatible, ++ such that linking against the shared library rather than the ++ static library will cause features. When this option is provided, ++ static libraries on Unix variants will have "-s" appended to their ++ names. *We hope that this is a temporary solution. At ++ present, it is only used by the Test library.* ++ ++MODULE ++^^^^^^ ++ ++ This option states that, when building a shared library, ++ the shared library should be built as a module rather than a ++ normal shared library. Modules have special meaning an behavior on ++ some platforms, such as Mac OS X. ++ ++NO_feature ++^^^^^^^^^^ ++ ++ States that library variants containing a particular ++ feature should not be built. For example, passing ++ `NO_SINGLE_THREADED` suppresses generation of single-threaded ++ variants of this library. ++ ++EXTRA_VARIANTS ++^^^^^^^^^^^^^^ ++ ++ Specifies that extra variants of this library ++ should be built, based on the features listed. Each "variant" is a ++ colon-separated list of features. For example, passing ++ EXTRA_VARIANTS "PYTHON_NODEBUG:PYTHON_DEBUG" ++ will result in the creation of an extra set of library variants, ++ some with the `PYTHON_NODEBUG` feature and some with the ++ `PYTHON_DEBUG` feature. ++ ++.. rubric:: Example ++ ++The Boost.Thread library binary is built using the following ++invocation of the `boost_add_library` macro. The options passed to the ++macro indicate that CMake should define `BOOST_THREAD_BUILD_DLL` to 1 ++when building shared libraries and `BOOST_THREAD_BUILD_LIB` to 1 when ++building static libraries. The `NO_SINGLE_THREADED` option inhibits ++creation of any single-threaded variants of the library (which ++obviously would not make sense for a threading library!). The flags ++needed to compile the multi-threaded variants are automatically ++added. :: ++ ++ boost_add_library( ++ boost_thread ++ barrier.cpp condition.cpp exceptions.cpp mutex.cpp once.cpp ++ recursive_mutex.cpp thread.cpp tss_hooks.cpp tss_dll.cpp tss_pe.cpp ++ tss.cpp xtime.cpp ++ SHARED_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_DLL=1" ++ STATIC_COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB=1" ++ NO_SINGLE_THREADED ++ ) ++ ++ ++This example is from ``libs/thread/src/CMakeLists.txt``. ++ ++.. rubric:: Where Defined ++ ++This macro is defined in the Boost Core module in ++``tools/build/CMake/BoostCore.cmake``. ++ ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_additional_test_dependencies.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_additional_test_dependencies.txt +new file mode 100644 +index 0000000..709977d +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_additional_test_dependencies.txt +@@ -0,0 +1,44 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++boost_additional_test_dependencies ++---------------------------------- ++ ++.. note:: This is only needed in the presence of 'modularization' ++ which is currently disabled. ++ ++Add additional include directories based on the dependencies of the ++library being tested 'libname' and all of its dependencies. ++ ++.. cmake:: boost_additional_test_dependencies(libname, ... ++ ++ :param libname: name of library being tested ++ :param BOOST_DEPENDS: libdepend1 libdepend2 ... ++ ++`libname` ++ ++ the name of the boost library being tested. (signals) ++ ++`BOOST_DEPENDS` ++ ++ The list of the extra boost libraries that the test suite will ++ depend on. You do NOT have to list those libraries already listed ++ by the module.cmake file as these will be used. ++ ++.. rubric:: Example ++ ++The following invocation of the `boost_additional_test_dependencies` ++macro is taken from the signals library. :: ++ ++ boost_additional_test_dependencies(signals BOOST_DEPENDS test optional) ++ ++.. rubric:: Where Defined ++ ++This macro is defined in the Boost Testing module in ++tools/build/CMake/BoostTesting.cmake ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_library_project.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_library_project.txt +new file mode 100644 +index 0000000..5487089 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_library_project.txt +@@ -0,0 +1,103 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. index:: boost_library_project ++.. _boost_library_project_macro: ++ ++boost_library_project ++--------------------- ++ ++Define a boost library project. ++ ++.. cmake:: boost_library_project(libname[, ...]) ++ ++ :param libname: name of library to add ++ :type SRCDIRS: optional ++ :param SRCDIRS: srcdir1 srcdir2 ... ++ :type TESTDIRS: optional ++ :param TESTDIRS: testdir1 testdir2 .. ++ :type EXAMPLEDIRS: optional ++ :param EXAMPLEDIRS: testdir1 testdir2 .. ++ :param DESCRIPTION: description ++ :param AUTHORS: author1 author2 ++ :param MAINTAINERS: maint maint2 ++ :type MODULAR: optional ++ :param MODULAR: ++ ++where `libname` is the name of the library (e.g., Python, ++Filesystem), `srcdir1`, `srcdir2`, etc, are subdirectories containing ++library sources (for Boost libraries that build actual library ++binaries), and `testdir1`, `testdir2`, etc, are subdirectories ++containing regression tests. ++ ++.. 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 ++ ++.. index:: TESTDIRS ++.. _TESTDIRS: ++ ++TESTDIRS ++^^^^^^^^ ++ ++For libraries that have regression tests, and when testing is enabled ++either by `BUILD_TESTS` containing the (lowercase) name of this ++library or the string ``ALL``, the generated makefiles/project files ++will contain regression tests for this library. ++ ++.. index:: EXAMPLEDIRS ++.. _EXAMPLEDIRS: ++ ++EXAMPLEDIRS ++^^^^^^^^^^^ ++ ++This option specifies directories containing examples. Examples are ++just libraries/executables created with :ref:`boost_add_library_macro` ++and :ref:`boost_add_executable_macro`, except they are only built if ++the name of the current project is specified in :ref:`BUILD_EXAMPLES`. ++ ++.. index:: MODULAR ++.. _MODULAR: ++ ++MODULAR ++^^^^^^^ ++ ++Currently unused. ++ ++.. rubric:: Example ++ ++The Boost.Thread library uses the following invocation of the ++`boost_library_project` macro, since it has both a compiled library ++(built in the "src" subdirectory) and regression tests (listed in the ++"test" subdirectory):: ++ ++ ++ boost_library_project( ++ Thread ++ SRCDIRS src ++ TESTDIRS test ++ DESCRIPTION "Portable threading" ++ AUTHORS "Anthony Williams ++ ) ++ ++.. rubric:: Where Defined ++ ++This macro is defined in the Boost Core module in ++``tools/build/CMake/BoostCore.cmake`` ++ +diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_module.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_module.txt +new file mode 100644 +index 0000000..f014735 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_module.txt +@@ -0,0 +1,15 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. index:: boost_module ++.. _boost_module: ++ ++boost_module ++------------ ++ ++FIXME +diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_python_module.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_python_module.txt +new file mode 100644 +index 0000000..0422c26 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_python_module.txt +@@ -0,0 +1,15 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. index:: boost_python_module ++.. _boost_python_module: ++ ++boost_python_module ++------------------- ++ ++FIXME +diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile.txt +new file mode 100644 +index 0000000..0a1c0b2 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile.txt +@@ -0,0 +1,14 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. _boost_test_compile: ++ ++boost_test_compile ++------------------ ++ ++FIXME +diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile_fail.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile_fail.txt +new file mode 100644 +index 0000000..1e6f318 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_compile_fail.txt +@@ -0,0 +1,14 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. _boost_test_compile_fail: ++ ++boost_test_compile_fail ++----------------------- ++ ++FIXME +diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run.txt +new file mode 100644 +index 0000000..8e7c2f8 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run.txt +@@ -0,0 +1,15 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. index:: boost_test_run ++.. _boost_test_run: ++ ++boost_test_run ++-------------- ++ ++FIXME +diff --git a/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run_fail.txt b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run_fail.txt +new file mode 100644 +index 0000000..9cc5e55 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/reference/boost_test_run_fail.txt +@@ -0,0 +1,15 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. index:: boost_test_run_fail ++.. _boost_test_run_fail: ++ ++boost_test_run_fail ++------------------- ++ ++FIXME +diff --git a/tools/build/CMake/docs/build/html/_sources/testing.txt b/tools/build/CMake/docs/build/html/_sources/testing.txt +new file mode 100644 +index 0000000..8f0db58 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_sources/testing.txt +@@ -0,0 +1,438 @@ ++.. ++.. Copyright (C) 2009 Troy Straszheim ++.. ++.. Distributed under the Boost Software License, Version 1.0. ++.. See accompanying file LICENSE_1_0.txt or copy at ++.. http://www.boost.org/LICENSE_1_0.txt ++.. ++ ++.. _testing: ++ ++Testing ++======= ++ ++Boost's CMake-based build system provides regression testing via ++`CTest `_, which ++comes as part of CMake. This regression testing system can be used by ++Boost developers to test their libraries locally and also by testers ++and users to submit regression tests to a `CDash server ++`_, which ++collects and reports regression-testing results from different ++sites. This document assumes that the reader has already learned how ++to build and configure Boost using CMake. ++ ++.. index:: BUILD_TESTS ++.. _BUILD_TESTS: ++ ++BUILD_TESTS ++----------- ++ ++The variable BUILD_TESTS is a comma-separated list of projects for ++which testing will be enabled, e.g.:: ++ ++ "accumulators;iostreams;variant" ++ ++or the string ``"ALL"`` for all projects, or the string ++``"NONE"`` to disable testing. ++ ++.. warning:: if you pass this list from a unix shell, don't forget to ++ enclose the whole thing in quotes or escape the ++ semicolons. ++ ++If you re-run the CMake configuration for Boost with ``BUILD_TESTS`` ++set to ``ALL``, you will notice that configuration takes significantly ++longer when we are building all of the regression tests. This is due ++to the very large number of toplevel targets (thousands) that are ++created. Until boost's testing scheme is reorganized to reduce this ++number, we anticipate that only testing nodes will want to test ALL, ++whereas developers will want to test the library under development and ++those that are dependent on it. ++ ++.. index:: NMake ++.. index:: Visual Studio ++.. index:: tests, running all of them ++ ++.. warning:: It is **not** recommended to set ``BUILD_TESTS`` to ++ ``"ALL"`` when using Visual Studio generators. A very ++ large number (thousands) of targets are generated and ++ this can bring VS to grinding halt. To run all tests, ++ choose the ``NMake`` generator, see :ref:`NMake`. ++ ++Be sure to re-configure CMake once you are done tweaking these ++options, and generate makefiles or project files, as mentioned in ++:ref:`quickstart`. ++ ++If you're using a command-line configuration (nmake files, unix ++makefiles) you can simplify this process by passing the value of ++``BUILD_TESTS`` on the command line, e.g. :: ++ ++ cmake ../src -DBUILD_TESTS="mpi;graph_parallel" ++ ++.. note:: In Visual Studio, you should be prompted by the gui to ++ reload the project. If you're unlucky, you will be prompted a ++ thousand times to reload each individual solution. For this ++ reason, our current best recommendataion is to close and reopen the ++ project if you rebuild ``Boost.sln``. ++ ++ ++Build ++----- ++ ++Follow the same building process described in :ref:`quickstart`. For ++Unix users, don't forget the `-i` option to `make` (ignore errors), ++and also possibly `-j 2` (or more) to run the build process in ++parallel. Building all of the regression tests for the Boost libraries ++can take a long time. :: ++ ++ make -j2 -i ++ ++.. note:: If you change Boost source files in a way that affects your ++ tests, you will need to rebuild to update the libraries and ++ test executables before moving on to the next step. ++ ++Test ++---- ++ ++Once regression tests have finished building, ++ ++Unix and nmake ++^^^^^^^^^^^^^^ ++ ++at a command prompt, ``cd`` to the Boost binary directory. Then, run ++the command:: ++ ++ ctest ++ ++to execute all of the regression tests. The `ctest` executable comes ++with cmake. On Unix platforms, this is the same place where `ccmake` ++resides. On Windows platforms, it will be in ``C:\Program ++Files\CMake X.Y\bin``. The ctest program should produce output like the ++following:: ++ ++ Start processing tests ++ Test project /Users/dgregor/Projects/boost-darwin ++ 1/ 22 Testing any-any_test Passed ++ 2/ 22 Testing any-any_to_ref_test Passed ++ 3/ 22 Testing function-lib_function_test Passed ++ 4/ 22 Testing function-function_n_test Passed ++ 5/ 22 Testing function-allocator_test Passed ++ 6/ 22 Testing function-stateless_test Passed ++ 7/ 22 Testing function-lambda_test Passed ++ 8/ 22 Testing function-function_test_fail1 ***Failed - supposed to fail ++ 9/ 22 Testing function-function_test_fail2 ***Failed - supposed to fail ++ 10/ 22 Testing function-function_30 Passed ++ 11/ 22 Testing function-function_arith_cxx98 Passed ++ 12/ 22 Testing function-function_arith_porta Passed ++ 13/ 22 Testing function-sum_avg_cxx98 Passed ++ 14/ 22 Testing function-sum_avg_portable Passed ++ 15/ 22 Testing function-mem_fun_cxx98 Passed ++ 16/ 22 Testing function-mem_fun_portable Passed ++ 17/ 22 Testing function-std_bind_cxx98 Passed ++ 18/ 22 Testing function-std_bind_portable Passed ++ 19/ 22 Testing function-function_ref_cxx98 Passed ++ 20/ 22 Testing function-function_ref_portabl Passed ++ 21/ 22 Testing function-contains_test Passed ++ 22/ 22 Testing function-contains2_test Passed ++ ++ 100% tests passed, 0 tests failed out of 22 ++ ++Here, we have only enabled testing of the Boost.Any and Boost.Function ++libraries, by setting `BUILD_TESTS` to `any;function`. ++ ++.. warning:: Again, This ``ctest`` step runs the tests without first ++ running a build. If you change a source file and run the ++ ``ctest`` step you will see that no build is invoked. ++ ++To run just a subset of the tests, pass ``-R`` and a regular ++expression to ``ctest`` (see the output of ``ctest --help-full``). For ++example, to run all of the Python tests, use:: ++ ++ ctest -R python ++ ++There is also a ``-E`` (exclude) option which does the inverse of ``-R``. ++``ctest --help`` shows the full list of options. ++ ++.. index:: targets ; testing ++.. index:: testing ; targets ++ ++Visual Studio ++^^^^^^^^^^^^^ ++ ++You will see a solution named ``RUN_TESTS``. Build this to run the ++tests. If you want to run them from the commandline, for some ++projects you will have to use the ``-C`` flag to ctest to specify the ++ctest configuration type (Debug or Release, typically). ++ ++ ++Targets ++------- ++ ++The testing subsystem adds toplevel targets to the build. On unix you ++can see them in the output of ``make help``. For example some of the ++accumulators test targets look like this:: ++ ++ % make help | grep accum ++ ... accumulators-tests-count ++ ... accumulators-tests-covariance ++ ... accumulators-tests-droppable ++ ... accumulators-tests-error_of ++ ... accumulators-tests-extended_p_square ++ ... accumulators-tests-extended_p_square_quantile ++ ++Note that they are prefixed with the name of the project, a dash, and ++'tests'. Under visual studio you will see these targets in the ++'solution explorer'. ++ ++.. _the_dashboard: ++ ++The Dashboard ++------------- ++ ++Donated by kitware, it is here: ++ ++http://www.cdash.org/CDashPublic/index.php?project=Boost ++ ++Submitting Results ++------------------ ++ ++.. warning:: This needs updating for git ++ ++The ``ctest`` command can be used by individual developers to test ++local changes to their libraries. The same program can also be used to ++build all of Boost, run its regression tests, and submit the results ++to a central server where others can view them. Currently, regression ++test results based on the CMake build system are displayed on the Dart ++server at http://www.cdash.org/CDashPublic/index.php?project=Boost. ++ ++To submit "experimental" results to the Dart server, configure a Boost ++binary tree by following the configuration instructions in the section ++:ref:`quickstart`, and then enable regression testing via the ++`BOOST_TESTS=ALL` option, as described above. At this point, don't build ++anything! We'll let CTest do that work. You may want to customize some ++of the advanced CMake options, such as `SITE` (to give your site ++name), and `MAKECOMMAND` (which, for makefile targets, governs the ++top-level make call when building Boost). Finally, go into the Boost ++binary directory and execute:: ++ ++ ctest -D Experimental ++ ++CTest will then reconfigure Boost, build all of the Boost libraries ++and regression tests, execute the regression tests, and submit the ++results to the Dart dashboard at ++http://www.cdash.org/CDashPublic/index.php?project=Boost. Results ++submitted to the dashboard are usually browsable momentarily within a ++minute or two. ++ ++Automatic testing ++----------------- ++ ++Continuous ++^^^^^^^^^^ ++ ++Here is a recommended setup. ++ ++Create a directory ``ctest`` on your test drone containing ++subdirectories for the branches you'll be testing, in this case ++*release* and *trunk*. :: ++ ++ boost/ ++ ctest/ ++ branches/ ++ release/ ++ continuous/ ++ build/ <= run ctest here ++ src/ <= checkout to here ++ nightly/ ++ build/ <= run ctest here ++ src/ <= checkout to here ++ ++and check out source to the directories listed above. We'll do the ++release branch as an example:: ++ ++ % cd boost/ctest/branches/release ++ % svn co http://svn.boost.org/svn/boost/branches/release src ++ # ++ # lots of output ++ # ++ % mkdir continuous ++ % cd continuous ++ ++now configure your build, enabling testing. In this case I'll also ++use an alternate compiler, from Intel:: ++ ++ % cmake ../src -DBUILD_TESTING=ON -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc ++ -- The C compiler identification is Intel ++ -- The CXX compiler identification is Intel ++ -- Check for working C compiler: /opt/intel/Compiler/11.0/083/bin/intel64/icc ++ -- Check for working C compiler: /opt/intel/Compiler/11.0/083/bin/intel64/icc -- works ++ ++ (etc) ++ ++ -- Configuring done ++ -- Generating done ++ -- Build files have been written to: /home/troy/Projects/boost/ctest/release/continuous/build ++ ++Now run ``ctest -D Continuous`` in a loop:: ++ ++ % while true ++ while> do ++ while> ctest -D Continuous ++ while> sleep 600 # take it easy on the repository ++ while> done ++ Site: zinc ++ Build name: intel-11.0-linux ++ Create new tag: 20090514-2207 - Continuous ++ Start processing tests ++ Updating the repository ++ Updating the repository: /home/troy/Projects/boost/ctest/release/nightly/src ++ Use SVN repository type ++ Old revision of repository is: 53002 ++ New revision of repository is: 53005 ++ Gathering version information (one . per revision): ++ ++ (etc) ++ ++If you add ``-V or -VV`` you'll get a little more feedback about what ++is going on. On unix it is handy to do this via the utility *screen*. ++ ++.. todo:: Figure out how to do this on windows, encapsulate some of ++ this scripting. Just use the ctest builtin scripting ++ language. ++ ++ ++Nightly ++^^^^^^^ ++ ++Nightly testing should run triggered by a cron job or by Windows Task ++Scheduler or what-have-you. You will need, ++ ++* a directory to work in ++* installed cmake/ctest/svn ++ ++but not a checkout of boost. CTest will do the checkout, build, test ++and submit on its own. ++ ++Create a directory to run in. As in the previous section, we'll use ++``boost/ctest/branches/release/nightly``, which I'll call ``$DIR``. ++The CTest script should look like the following (you can copy/paste ++this into ``$DIR/CTestNightly.cmake`` :: ++ ++ execute_process(COMMAND /bin/pwd ++ OUTPUT_VARIABLE PWD ++ OUTPUT_STRIP_TRAILING_WHITESPACE) ++ ++ message(STATUS "Running nightly build in ${PWD}") ++ ++ set(CTEST_SOURCE_DIRECTORY ${PWD}/src) ++ set(CTEST_BINARY_DIRECTORY ${PWD}/build) ++ ++ # what cmake command to use for configuring this dashboard ++ set(CTEST_CMAKE_COMMAND "/usr/local/bin/cmake") ++ set(CTEST_CTEST_COMMAND "/usr/local/bin/ctest") ++ set(CTEST_CVS_COMMAND "svn") ++ ++ set(CTEST_CVS_CHECKOUT "${CTEST_CVS_COMMAND} co https://svn.boost.org/svn/boost/branches/release ${CTEST_SOURCE_DIRECTORY}") ++ ++ # which ctest command to use for running the dashboard ++ set(CTEST_COMMAND ++ "${CTEST_CTEST_COMMAND} -VV -D Experimental -A ${PWD}/notes.txt -O ctest.log" ++ ) ++ ++ ++ ++ #################################################################### ++ # The values in this section are optional you can either ++ # have them or leave them commented out ++ #################################################################### ++ ++ # should ctest wipe the binary tree before running ++ set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE) ++ ++ # ++ # this is the initial cache to use for the binary tree, be careful to escape ++ # any quotes inside of this string if you use it ++ # ++ # Yes you can pass cmake -DBUILD_WHATEVER=ON type options here. ++ # ++ set(CTEST_INITIAL_CACHE " ++ ++ CMAKE_CXX_COMPILER:STRING=/opt/intel/Compiler/11.0/083/bin/intel64/icpc ++ CMAKE_C_COMPILER:STRING=/opt/intel/Compiler/11.0/083/bin/intel64/icc ++ ++ SITE:STRING=zinc ++ MAKECOMMAND:STRING=make -i -j2 ++ DART_TESTING_TIMEOUT:STRING=30 ++ BUILD_TESTS:STRING=ALL ++ BUILD_EXAMPLES:STRING=ALL ++ CVSCOMMAND:FILEPATH=${CTEST_CVS_COMMAND} ++ ") ++ ++You will need to customize several variables: ++ ++* **CTEST_CMAKE_COMMAND** the path to your cmake binary ++* **CTEST_CTEST_COMMAND** the path to your ctest binary (should be in ++ the same place as cmake) ++* **CTEST_CVS_COMMAND** The path to subversion. ++* **CMAKE_CXX_COMPILER:STRING**, **CMAKE_C_COMPILER:STRING** Note the ++ syntax here, the trailing ``:STRING``. If you are using a ++ nonstandard compiler, set it here. ++* **MAKECOMMAND:STRING** The path to your make command. *NOTE* if you ++ set this, be sure that the ``-i`` (ignore-errors) flag is included. ++ If it isn't, the first compile/link error will stop the build and ++ testing will commence. ++* **SITE:STRING** This is what will appear as the 'hostname' in your ++ posted dashboards. Customize as you like. ++ ++Now you'll create a "notes" file, call it ``notes.txt``. This will be ++visible from the dashboard. Add the output of, e.g:: ++ ++ gcc --version ++ uname -a ++ ++and the contents of the ``CTestNightly.cmake`` itself. Example:: ++ ++ **************** CMAKE DASHBOARD NOTES ***************** ++ ++ Notes file for CMake Nightly Dashboard. ++ ++ This dashboard is being generated on an eight core, 64 bit ++ Ubuntu 9.04 machine with an intel c++ compiler. ++ ++ ++ Questions about this Dashboard should be directed to troy@resophonic.com ++ ++ Linux zinc 2.6.27-11-generic #1 SMP Wed Apr 1 20:53:41 UTC 2009 x86_64 GNU/Linux ++ ++ icpc (ICC) 11.0 20090318 ++ Copyright (C) 1985-2009 Intel Corporation. All rights reserved. ++ ++ --------------- Script file --------------- ++ ++ (contents of CTestNightly.cmake) ++ ++Now run (as a cronjob or at the command line):: ++ ++ ctest -S CTestNightly.cmake ++ ++if you want extra verbosity add a ``-VV`` flag. You'll see something like the following:: ++ ++ + /opt/local/bin/ctest -VV -S CMakeDashBoard.cmake ++ * Extra verbosity turned on ++ Reading Script: /Users/troy/ctest/boost/release/nightly/CMakeDashBoard.cmake ++ Run cmake command: /opt/i3/ports/bin/cmake "/Users/troy/ctest/boost/release/nightly/src" ++ -- The C compiler identification is GNU ++ -- The CXX compiler identification is GNU ++ -- Check for working C compiler: /usr/bin/gcc ++ (etc) ++ -- Configuring done ++ -- Generating done ++ -- Build files have been written to: /Users/troy/ctest/boost/release/nightly/build ++ Run ctest command: /opt/i3/ports/bin/ctest -VV -D Nightly -A /Users/troy/ctest/boost/release/nightly/notes.txt -O ctest.log ++ UpdateCTestConfiguration from :/Users/troy/ctest/boost/release/nightly/build/DartConfiguration.tcl ++ Parse Config file:/Users/troy/ctest/boost/release/nightly/build/DartConfiguration.tcl ++ Site: silver ++ Build name: gcc-4.0.1-macos ++ (etc, etc) ++ ++You'll see it configure again, run... and sooner or later you'll see ++your results on :ref:`the_dashboard`. +diff --git a/tools/build/CMake/docs/build/html/_static/alt.boost.png b/tools/build/CMake/docs/build/html/_static/alt.boost.png +new file mode 100644 +index 0000000..1df0761 +Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/alt.boost.png differ +diff --git a/tools/build/CMake/docs/build/html/_static/basic.css b/tools/build/CMake/docs/build/html/_static/basic.css +new file mode 100644 +index 0000000..68cae4f +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_static/basic.css +@@ -0,0 +1,405 @@ ++/** ++ * Sphinx stylesheet -- basic theme ++ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++ */ ++ ++/* -- main layout ----------------------------------------------------------- */ ++ ++div.clearer { ++ clear: both; ++} ++ ++/* -- relbar ---------------------------------------------------------------- */ ++ ++div.related { ++ width: 100%; ++ font-size: 90%; ++} ++ ++div.related h3 { ++ display: none; ++} ++ ++div.related ul { ++ margin: 0; ++ padding: 0 0 0 10px; ++ list-style: none; ++} ++ ++div.related li { ++ display: inline; ++} ++ ++div.related li.right { ++ float: right; ++ margin-right: 5px; ++} ++ ++/* -- sidebar --------------------------------------------------------------- */ ++ ++div.sphinxsidebarwrapper { ++ padding: 10px 5px 0 10px; ++} ++ ++div.sphinxsidebar { ++ float: left; ++ width: 230px; ++ margin-left: -100%; ++ font-size: 90%; ++} ++ ++div.sphinxsidebar ul { ++ list-style: none; ++} ++ ++div.sphinxsidebar ul ul, ++div.sphinxsidebar ul.want-points { ++ margin-left: 20px; ++ list-style: square; ++} ++ ++div.sphinxsidebar ul ul { ++ margin-top: 0; ++ margin-bottom: 0; ++} ++ ++div.sphinxsidebar form { ++ margin-top: 10px; ++} ++ ++div.sphinxsidebar input { ++ border: 1px solid #98dbcc; ++ font-family: sans-serif; ++ font-size: 1em; ++} ++ ++img { ++ border: 0; ++} ++ ++/* -- search page ----------------------------------------------------------- */ ++ ++ul.search { ++ margin: 10px 0 0 20px; ++ padding: 0; ++} ++ ++ul.search li { ++ padding: 5px 0 5px 20px; ++ background-image: url(file.png); ++ background-repeat: no-repeat; ++ background-position: 0 7px; ++} ++ ++ul.search li a { ++ font-weight: bold; ++} ++ ++ul.search li div.context { ++ color: #888; ++ margin: 2px 0 0 30px; ++ text-align: left; ++} ++ ++ul.keywordmatches li.goodmatch a { ++ font-weight: bold; ++} ++ ++/* -- index page ------------------------------------------------------------ */ ++ ++table.contentstable { ++ width: 90%; ++} ++ ++table.contentstable p.biglink { ++ line-height: 150%; ++} ++ ++a.biglink { ++ font-size: 1.3em; ++} ++ ++span.linkdescr { ++ font-style: italic; ++ padding-top: 5px; ++ font-size: 90%; ++} ++ ++/* -- general index --------------------------------------------------------- */ ++ ++table.indextable td { ++ text-align: left; ++ vertical-align: top; ++} ++ ++table.indextable dl, table.indextable dd { ++ margin-top: 0; ++ margin-bottom: 0; ++} ++ ++table.indextable tr.pcap { ++ height: 10px; ++} ++ ++table.indextable tr.cap { ++ margin-top: 10px; ++ background-color: #f2f2f2; ++} ++ ++img.toggler { ++ margin-right: 3px; ++ margin-top: 3px; ++ cursor: pointer; ++} ++ ++/* -- general body styles --------------------------------------------------- */ ++ ++a.headerlink { ++ visibility: hidden; ++} ++ ++h1:hover > a.headerlink, ++h2:hover > a.headerlink, ++h3:hover > a.headerlink, ++h4:hover > a.headerlink, ++h5:hover > a.headerlink, ++h6:hover > a.headerlink, ++dt:hover > a.headerlink { ++ visibility: visible; ++} ++ ++div.body p.caption { ++ text-align: inherit; ++} ++ ++div.body td { ++ text-align: left; ++} ++ ++.field-list ul { ++ padding-left: 1em; ++} ++ ++.first { ++ margin-top: 0 !important; ++} ++ ++p.rubric { ++ margin-top: 30px; ++ font-weight: bold; ++} ++ ++/* -- sidebars -------------------------------------------------------------- */ ++ ++div.sidebar { ++ margin: 0 0 0.5em 1em; ++ border: 1px solid #ddb; ++ padding: 7px 7px 0 7px; ++ background-color: #ffe; ++ width: 40%; ++ float: right; ++} ++ ++p.sidebar-title { ++ font-weight: bold; ++} ++ ++/* -- topics ---------------------------------------------------------------- */ ++ ++div.topic { ++ border: 1px solid #ccc; ++ padding: 7px 7px 0 7px; ++ margin: 10px 0 10px 0; ++} ++ ++p.topic-title { ++ font-size: 1.1em; ++ font-weight: bold; ++ margin-top: 10px; ++} ++ ++/* -- admonitions ----------------------------------------------------------- */ ++ ++div.admonition { ++ margin-top: 10px; ++ margin-bottom: 10px; ++ padding: 7px; ++} ++ ++div.admonition dt { ++ font-weight: bold; ++} ++ ++div.admonition dl { ++ margin-bottom: 0; ++} ++ ++p.admonition-title { ++ margin: 0px 10px 5px 0px; ++ font-weight: bold; ++} ++ ++div.body p.centered { ++ text-align: center; ++ margin-top: 25px; ++} ++ ++/* -- tables ---------------------------------------------------------------- */ ++ ++table.docutils { ++ border: 0; ++ border-collapse: collapse; ++} ++ ++table.docutils td, table.docutils th { ++ padding: 1px 8px 1px 0; ++ border-top: 0; ++ border-left: 0; ++ border-right: 0; ++ border-bottom: 1px solid #aaa; ++} ++ ++table.field-list td, table.field-list th { ++ border: 0 !important; ++} ++ ++table.footnote td, table.footnote th { ++ border: 0 !important; ++} ++ ++th { ++ text-align: left; ++ padding-right: 5px; ++} ++ ++/* -- other body styles ----------------------------------------------------- */ ++ ++dl { ++ margin-bottom: 15px; ++} ++ ++dd p { ++ margin-top: 0px; ++} ++ ++dd ul, dd table { ++ margin-bottom: 10px; ++} ++ ++dd { ++ margin-top: 3px; ++ margin-bottom: 10px; ++ margin-left: 30px; ++} ++ ++dt:target, .highlight { ++ background-color: #fbe54e; ++} ++ ++dl.glossary dt { ++ font-weight: bold; ++ font-size: 1.1em; ++} ++ ++.field-list ul { ++ margin: 0; ++ padding-left: 1em; ++} ++ ++.field-list p { ++ margin: 0; ++} ++ ++.refcount { ++ color: #060; ++} ++ ++.optional { ++ font-size: 1.3em; ++} ++ ++.versionmodified { ++ font-style: italic; ++} ++ ++.system-message { ++ background-color: #fda; ++ padding: 5px; ++ border: 3px solid red; ++} ++ ++.footnote:target { ++ background-color: #ffa ++} ++ ++/* -- code displays --------------------------------------------------------- */ ++ ++pre { ++ overflow: auto; ++} ++ ++td.linenos pre { ++ padding: 5px 0px; ++ border: 0; ++ background-color: transparent; ++ color: #aaa; ++} ++ ++table.highlighttable { ++ margin-left: 0.5em; ++} ++ ++table.highlighttable td { ++ padding: 0 0.5em 0 0.5em; ++} ++ ++tt.descname { ++ background-color: transparent; ++ font-weight: bold; ++ font-size: 1.2em; ++} ++ ++tt.descclassname { ++ background-color: transparent; ++} ++ ++tt.xref, a tt { ++ background-color: transparent; ++ font-weight: bold; ++} ++ ++h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { ++ background-color: transparent; ++} ++ ++/* -- math display ---------------------------------------------------------- */ ++ ++img.math { ++ vertical-align: middle; ++} ++ ++div.math p { ++ text-align: center; ++} ++ ++span.eqno { ++ float: right; ++} ++ ++/* -- printout stylesheet --------------------------------------------------- */ ++ ++@media print { ++ div.document, ++ div.documentwrapper, ++ div.bodywrapper { ++ margin: 0; ++ width: 100%; ++ } ++ ++ div.sphinxsidebar, ++ div.related, ++ div.footer, ++ #top-link { ++ display: none; ++ } ++} +diff --git a/tools/build/CMake/docs/build/html/_static/boost.css b/tools/build/CMake/docs/build/html/_static/boost.css +new file mode 100644 +index 0000000..63ce8bc +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_static/boost.css +@@ -0,0 +1,221 @@ ++/** ++ * Sphinx stylesheet -- default theme ++ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++ */ ++ ++@import url("basic.css"); ++ ++/* -- page layout ----------------------------------------------------------- */ ++ ++body { ++ font-family: sans-serif; ++ font-size: 100%; ++ background-color: #ffffff; ++ color: #000; ++ margin: 0; ++ padding: 0; ++} ++ ++div.documentwrapper { ++ background-color: #ffffff; ++ border-top: 1px solid #dddddd; ++ border-bottom: 1px solid #dddddd; ++} ++ ++div.body { ++ background-color: #ffffff; ++ color: #000000; ++ padding: 0 20px 30px 20px; ++ border-left: 1px solid #eeeeee; ++} ++ ++div.footer { ++ color: #ffffff; ++ width: 100%; ++ padding: 9px 0 9px 0; ++ text-align: center; ++ font-size: 75%; ++} ++ ++div.footer a { ++ color: #ffffff; ++ text-decoration: underline; ++} ++ ++div.related { ++ background-color: #ffffff; ++ line-height: 30px; ++ color: #ffffff; ++} ++ ++div.related a { ++ color: #005a9c; ++} ++ ++div.sphinxsidebar { ++ float: right; ++} ++ ++div.sphinxsidebar h3 { ++ font-family: 'Trebuchet MS', sans-serif; ++ color: #666666; ++ font-size: 1.4em; ++ font-weight: normal; ++ margin: 0; ++ padding: 0; ++} ++ ++div.sphinxsidebar h3 a { ++ color: #005a9c; ++} ++ ++div.sphinxsidebar h4 { ++ font-family: 'Trebuchet MS', sans-serif; ++ color: #ffffff; ++ font-size: 1.3em; ++ font-weight: normal; ++ margin: 5px 0 0 0; ++ padding: 0; ++} ++ ++div.sphinxsidebar p { ++ color: #666666; ++} ++ ++div.sphinxsidebar p.topless { ++ margin: 5px 10px 10px 10px; ++} ++ ++div.sphinxsidebar ul { ++ margin: 10px; ++ padding: 0; ++ color: #ffffff; ++} ++ ++div.sphinxsidebar a { ++ color: #005a9c; ++} ++ ++div.sphinxsidebar input { ++ border: 1px solid #cccccc; ++ font-family: sans-serif; ++ font-size: 1em; ++} ++ ++/* -- body styles ----------------------------------------------------------- */ ++ ++a { ++ color: #355f7c; ++ text-decoration: none; ++} ++ ++a:hover { ++ text-decoration: underline; ++} ++ ++div.body p, div.body dd, div.body li { ++ text-align: justify; ++ line-height: 130%; ++} ++ ++div.body h1, ++div.body h2, ++div.body h3, ++div.body h4, ++div.body h5, ++div.body h6 { ++ background-color: #f5f5f5; ++ border-top: 1px solid #dddddd; ++ padding: 3px 0px 3px 10px; ++ margin: 20px -20px 10px -20px; ++ ++/* ++ font-family: 'Trebuchet MS', sans-serif; ++ background-color: #f2f2f2; ++ font-weight: normal; ++ color: #20435c; ++ border-bottom: 1px solid #ccc; ++ padding: 3px 0 3px 10px; ++*/ ++} ++ ++ ++div.body h1 { margin-top: 0; font-size: 150%; } ++div.body h2 { font-size: 140%; } ++div.body h3 { font-size: 130%; } ++div.body h4 { font-size: 120%; } ++div.body h5 { font-size: 110%; } ++div.body h6 { font-size: 100%; } ++ ++ ++a.headerlink { ++ color: #c60f0f; ++ font-size: 0.8em; ++ padding: 0 4px 0 4px; ++ text-decoration: none; ++} ++ ++a.headerlink:hover { ++ background-color: #c60f0f; ++ color: white; ++} ++ ++div.body p, div.body dd, div.body li { ++ text-align: justify; ++ line-height: 130%; ++} ++ ++div.admonition p.admonition-title + p { ++ display: inline; ++} ++ ++div.note { ++ background-color: #eee; ++ border: 1px solid #ccc; ++} ++ ++div.seealso { ++ background-color: #ffc; ++ border: 1px solid #ff6; ++} ++ ++div.topic { ++ background-color: #eee; ++} ++ ++div.warning { ++ background-color: #ffe4e4; ++ border: 1px solid #f66; ++} ++ ++p.admonition-title { ++ display: inline; ++} ++ ++p.admonition-title:after { ++ content: ":"; ++} ++ ++pre { ++ font-size: 9pt; ++ display: block; ++ margin: 1pc 4% 0pc 4%; ++ padding: 0.5pc 0.5pc 0.5pc 0.5pc; ++ border: 1px solid #d8d8d8; ++} ++ ++tt { ++ background-color: #ecf0f3; ++ padding: 0 1px 0 1px; ++ font-size: 0.95em; ++} ++ ++dt:target, .highlight { ++ background-color: #ffffff; ++ border-bottom: none; ++/* */ ++} ++ ++.k { ++ color: #0000aa; ++} +\ No newline at end of file +diff --git a/tools/build/CMake/docs/build/html/_static/contents.png b/tools/build/CMake/docs/build/html/_static/contents.png +new file mode 100644 +index 0000000..7fb8215 +Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/contents.png differ +diff --git a/tools/build/CMake/docs/build/html/_static/doctools.js b/tools/build/CMake/docs/build/html/_static/doctools.js +new file mode 100644 +index 0000000..9447678 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_static/doctools.js +@@ -0,0 +1,232 @@ ++/// XXX: make it cross browser ++ ++/** ++ * make the code below compatible with browsers without ++ * an installed firebug like debugger ++ */ ++if (!window.console || !console.firebug) { ++ var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", ++ "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; ++ window.console = {}; ++ for (var i = 0; i < names.length; ++i) ++ window.console[names[i]] = function() {} ++} ++ ++/** ++ * small helper function to urldecode strings ++ */ ++jQuery.urldecode = function(x) { ++ return decodeURIComponent(x).replace(/\+/g, ' '); ++} ++ ++/** ++ * small helper function to urlencode strings ++ */ ++jQuery.urlencode = encodeURIComponent; ++ ++/** ++ * This function returns the parsed url parameters of the ++ * current request. Multiple values per key are supported, ++ * it will always return arrays of strings for the value parts. ++ */ ++jQuery.getQueryParameters = function(s) { ++ if (typeof s == 'undefined') ++ s = document.location.search; ++ var parts = s.substr(s.indexOf('?') + 1).split('&'); ++ var result = {}; ++ for (var i = 0; i < parts.length; i++) { ++ var tmp = parts[i].split('=', 2); ++ var key = jQuery.urldecode(tmp[0]); ++ var value = jQuery.urldecode(tmp[1]); ++ if (key in result) ++ result[key].push(value); ++ else ++ result[key] = [value]; ++ } ++ return result; ++} ++ ++/** ++ * small function to check if an array contains ++ * a given item. ++ */ ++jQuery.contains = function(arr, item) { ++ for (var i = 0; i < arr.length; i++) { ++ if (arr[i] == item) ++ return true; ++ } ++ return false; ++} ++ ++/** ++ * highlight a given string on a jquery object by wrapping it in ++ * span elements with the given class name. ++ */ ++jQuery.fn.highlightText = function(text, className) { ++ function highlight(node) { ++ if (node.nodeType == 3) { ++ var val = node.nodeValue; ++ var pos = val.toLowerCase().indexOf(text); ++ if (pos >= 0 && !jQuery.className.has(node.parentNode, className)) { ++ var span = document.createElement("span"); ++ span.className = className; ++ span.appendChild(document.createTextNode(val.substr(pos, text.length))); ++ node.parentNode.insertBefore(span, node.parentNode.insertBefore( ++ document.createTextNode(val.substr(pos + text.length)), ++ node.nextSibling)); ++ node.nodeValue = val.substr(0, pos); ++ } ++ } ++ else if (!jQuery(node).is("button, select, textarea")) { ++ jQuery.each(node.childNodes, function() { ++ highlight(this) ++ }); ++ } ++ } ++ return this.each(function() { ++ highlight(this); ++ }); ++} ++ ++/** ++ * Small JavaScript module for the documentation. ++ */ ++var Documentation = { ++ ++ init : function() { ++ this.fixFirefoxAnchorBug(); ++ this.highlightSearchWords(); ++ this.initModIndex(); ++ }, ++ ++ /** ++ * i18n support ++ */ ++ TRANSLATIONS : {}, ++ PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, ++ LOCALE : 'unknown', ++ ++ // gettext and ngettext don't access this so that the functions ++ // can savely bound to a different name (_ = Documentation.gettext) ++ gettext : function(string) { ++ var translated = Documentation.TRANSLATIONS[string]; ++ if (typeof translated == 'undefined') ++ return string; ++ return (typeof translated == 'string') ? translated : translated[0]; ++ }, ++ ++ ngettext : function(singular, plural, n) { ++ var translated = Documentation.TRANSLATIONS[singular]; ++ if (typeof translated == 'undefined') ++ return (n == 1) ? singular : plural; ++ return translated[Documentation.PLURALEXPR(n)]; ++ }, ++ ++ addTranslations : function(catalog) { ++ for (var key in catalog.messages) ++ this.TRANSLATIONS[key] = catalog.messages[key]; ++ this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); ++ this.LOCALE = catalog.locale; ++ }, ++ ++ /** ++ * add context elements like header anchor links ++ */ ++ addContextElements : function() { ++ $('div[id] > :header:first').each(function() { ++ $('\u00B6'). ++ attr('href', '#' + this.id). ++ attr('title', _('Permalink to this headline')). ++ appendTo(this); ++ }); ++ $('dt[id]').each(function() { ++ $('\u00B6'). ++ attr('href', '#' + this.id). ++ attr('title', _('Permalink to this definition')). ++ appendTo(this); ++ }); ++ }, ++ ++ /** ++ * workaround a firefox stupidity ++ */ ++ fixFirefoxAnchorBug : function() { ++ if (document.location.hash && $.browser.mozilla) ++ window.setTimeout(function() { ++ document.location.href += ''; ++ }, 10); ++ }, ++ ++ /** ++ * highlight the search words provided in the url in the text ++ */ ++ highlightSearchWords : function() { ++ var params = $.getQueryParameters(); ++ var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; ++ if (terms.length) { ++ var body = $('div.body'); ++ window.setTimeout(function() { ++ $.each(terms, function() { ++ body.highlightText(this.toLowerCase(), 'highlight'); ++ }); ++ }, 10); ++ $('') ++ .appendTo($('.sidebar .this-page-menu')); ++ } ++ }, ++ ++ /** ++ * init the modindex toggle buttons ++ */ ++ initModIndex : function() { ++ var togglers = $('img.toggler').click(function() { ++ var src = $(this).attr('src'); ++ var idnum = $(this).attr('id').substr(7); ++ console.log($('tr.cg-' + idnum).toggle()); ++ if (src.substr(-9) == 'minus.png') ++ $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); ++ else ++ $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); ++ }).css('display', ''); ++ if (DOCUMENTATION_OPTIONS.COLLAPSE_MODINDEX) { ++ togglers.click(); ++ } ++ }, ++ ++ /** ++ * helper function to hide the search marks again ++ */ ++ hideSearchWords : function() { ++ $('.sidebar .this-page-menu li.highlight-link').fadeOut(300); ++ $('span.highlight').removeClass('highlight'); ++ }, ++ ++ /** ++ * make the url absolute ++ */ ++ makeURL : function(relativeURL) { ++ return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; ++ }, ++ ++ /** ++ * get the current relative url ++ */ ++ getCurrentURL : function() { ++ var path = document.location.pathname; ++ var parts = path.split(/\//); ++ $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { ++ if (this == '..') ++ parts.pop(); ++ }); ++ var url = parts.join('/'); ++ return path.substring(url.lastIndexOf('/') + 1, path.length - 1); ++ } ++}; ++ ++// quick alias for translations ++_ = Documentation.gettext; ++ ++$(document).ready(function() { ++ Documentation.init(); ++}); +diff --git a/tools/build/CMake/docs/build/html/_static/file.png b/tools/build/CMake/docs/build/html/_static/file.png +new file mode 100644 +index 0000000..d18082e +Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/file.png differ +diff --git a/tools/build/CMake/docs/build/html/_static/jquery.js b/tools/build/CMake/docs/build/html/_static/jquery.js +new file mode 100644 +index 0000000..82b98e1 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_static/jquery.js +@@ -0,0 +1,32 @@ ++/* ++ * jQuery 1.2.6 - New Wave Javascript ++ * ++ * Copyright (c) 2008 John Resig (jquery.com) ++ * Dual licensed under the MIT (MIT-LICENSE.txt) ++ * and GPL (GPL-LICENSE.txt) licenses. ++ * ++ * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $ ++ * $Rev: 5685 $ ++ */ ++(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else ++return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else ++return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else ++selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else ++this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else ++return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else ++jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else ++jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
","
"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else ++ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else ++while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else ++for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else ++xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else ++jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else ++for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else ++s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else ++e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})(); +\ No newline at end of file +diff --git a/tools/build/CMake/docs/build/html/_static/minus.png b/tools/build/CMake/docs/build/html/_static/minus.png +new file mode 100644 +index 0000000..da1c562 +Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/minus.png differ +diff --git a/tools/build/CMake/docs/build/html/_static/navigation.png b/tools/build/CMake/docs/build/html/_static/navigation.png +new file mode 100644 +index 0000000..1081dc1 +Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/navigation.png differ +diff --git a/tools/build/CMake/docs/build/html/_static/plus.png b/tools/build/CMake/docs/build/html/_static/plus.png +new file mode 100644 +index 0000000..b3cb374 +Binary files /dev/null and b/tools/build/CMake/docs/build/html/_static/plus.png differ +diff --git a/tools/build/CMake/docs/build/html/_static/pygments.css b/tools/build/CMake/docs/build/html/_static/pygments.css +new file mode 100644 +index 0000000..c4f80ad +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_static/pygments.css +@@ -0,0 +1,59 @@ ++.c { color: #800000; } /* Comment */ ++.err { border: 1px solid #FF0000 } /* Error */ ++.k { color: #0000aa; } /* Keyword */ ++.o { color: #707070 } /* Operator */ ++.cm { color: #408090; font-style: italic } /* Comment.Multiline */ ++.cp { color: #007020 } /* Comment.Preproc */ ++.c1 { color: #408090; font-style: italic } /* Comment.Single */ ++.cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ ++.gd { color: #A00000 } /* Generic.Deleted */ ++.ge { font-style: italic } /* Generic.Emph */ ++.gr { color: #FF0000 } /* Generic.Error */ ++.gh { color: #000080; font-weight: bold } /* Generic.Heading */ ++.gi { color: #00A000 } /* Generic.Inserted */ ++.go { color: #303030 } /* Generic.Output */ ++.gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ ++.gs { font-weight: bold } /* Generic.Strong */ ++.gu { color: #800080; font-weight: bold } /* Generic.Subheading */ ++.gt { color: #0040D0 } /* Generic.Traceback */ ++.kc { color: #007020; font-weight: bold } /* Keyword.Constant */ ++.kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ ++.kp { color: #007020 } /* Keyword.Pseudo */ ++.kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ ++.kt { color: #602000 } /* Keyword.Type */ ++.m { color: #208050 } /* Literal.Number */ ++.s { color: #4070a0 } /* Literal.String */ ++.na { color: #4070a0 } /* Name.Attribute */ ++.nb { color: #007020 } /* Name.Builtin */ ++.nc { color: #0e84b5; font-weight: bold } /* Name.Class */ ++.no { color: #60add5 } /* Name.Constant */ ++.nd { color: #555555; font-weight: bold } /* Name.Decorator */ ++.ni { color: #d55537; font-weight: bold } /* Name.Entity */ ++.ne { color: #007020 } /* Name.Exception */ ++.nf { color: #06287e } /* Name.Function */ ++.nl { color: #002070; font-weight: bold } /* Name.Label */ ++.nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ ++.nt { color: #062873; font-weight: bold } /* Name.Tag */ ++.nv { color: #bb60d5 } /* Name.Variable */ ++.ow { color: #007020; font-weight: bold } /* Operator.Word */ ++.w { color: #bbbbbb } /* Text.Whitespace */ ++.mf { color: #208050 } /* Literal.Number.Float */ ++.mh { color: #208050 } /* Literal.Number.Hex */ ++.mi { color: #208050 } /* Literal.Number.Integer */ ++.mo { color: #208050 } /* Literal.Number.Oct */ ++.sb { color: #4070a0 } /* Literal.String.Backtick */ ++.sc { color: #4070a0 } /* Literal.String.Char */ ++.sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ ++.s2 { color: #4070a0 } /* Literal.String.Double */ ++.se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ ++.sh { color: #4070a0 } /* Literal.String.Heredoc */ ++.si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ ++.sx { color: #c65d09 } /* Literal.String.Other */ ++.sr { color: #235388 } /* Literal.String.Regex */ ++.s1 { color: #4070a0 } /* Literal.String.Single */ ++.ss { color: #517918 } /* Literal.String.Symbol */ ++.bp { color: #007020 } /* Name.Builtin.Pseudo */ ++.vc { color: #bb60d5 } /* Name.Variable.Class */ ++.vg { color: #bb60d5 } /* Name.Variable.Global */ ++.vi { color: #bb60d5 } /* Name.Variable.Instance */ ++.il { color: #208050 } /* Literal.Number.Integer.Long */ +\ No newline at end of file +diff --git a/tools/build/CMake/docs/build/html/_static/searchtools.js b/tools/build/CMake/docs/build/html/_static/searchtools.js +new file mode 100644 +index 0000000..e022625 +--- /dev/null ++++ b/tools/build/CMake/docs/build/html/_static/searchtools.js +@@ -0,0 +1,467 @@ ++/** ++ * helper function to return a node containing the ++ * search summary for a given text. keywords is a list ++ * of stemmed words, hlwords is the list of normal, unstemmed ++ * words. the first one is used to find the occurance, the ++ * latter for highlighting it. ++ */ ++ ++jQuery.makeSearchSummary = function(text, keywords, hlwords) { ++ var textLower = text.toLowerCase(); ++ var start = 0; ++ $.each(keywords, function() { ++ var i = textLower.indexOf(this.toLowerCase()); ++ if (i > -1) ++ start = i; ++ }); ++ start = Math.max(start - 120, 0); ++ var excerpt = ((start > 0) ? '...' : '') + ++ $.trim(text.substr(start, 240)) + ++ ((start + 240 - text.length) ? '...' : ''); ++ var rv = $('
').text(excerpt); ++ $.each(hlwords, function() { ++ rv = rv.highlightText(this, 'highlight'); ++ }); ++ return rv; ++} ++ ++/** ++ * Porter Stemmer ++ */ ++var PorterStemmer = function() { ++ ++ var step2list = { ++ ational: 'ate', ++ tional: 'tion', ++ enci: 'ence', ++ anci: 'ance', ++ izer: 'ize', ++ bli: 'ble', ++ alli: 'al', ++ entli: 'ent', ++ eli: 'e', ++ ousli: 'ous', ++ ization: 'ize', ++ ation: 'ate', ++ ator: 'ate', ++ alism: 'al', ++ iveness: 'ive', ++ fulness: 'ful', ++ ousness: 'ous', ++ aliti: 'al', ++ iviti: 'ive', ++ biliti: 'ble', ++ logi: 'log' ++ }; ++ ++ var step3list = { ++ icate: 'ic', ++ ative: '', ++ alize: 'al', ++ iciti: 'ic', ++ ical: 'ic', ++ ful: '', ++ ness: '' ++ }; ++ ++ var c = "[^aeiou]"; // consonant ++ var v = "[aeiouy]"; // vowel ++ var C = c + "[^aeiouy]*"; // consonant sequence ++ var V = v + "[aeiou]*"; // vowel sequence ++ ++ var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 ++ var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 ++ var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 ++ var s_v = "^(" + C + ")?" + v; // vowel in stem ++ ++ this.stemWord = function (w) { ++ var stem; ++ var suffix; ++ var firstch; ++ var origword = w; ++ ++ if (w.length < 3) ++ return w; ++ ++ var re; ++ var re2; ++ var re3; ++ var re4; ++ ++ firstch = w.substr(0,1); ++ if (firstch == "y") ++ w = firstch.toUpperCase() + w.substr(1); ++ ++ // Step 1a ++ re = /^(.+?)(ss|i)es$/; ++ re2 = /^(.+?)([^s])s$/; ++ ++ if (re.test(w)) ++ w = w.replace(re,"$1$2"); ++ else if (re2.test(w)) ++ w = w.replace(re2,"$1$2"); ++ ++ // Step 1b ++ re = /^(.+?)eed$/; ++ re2 = /^(.+?)(ed|ing)$/; ++ if (re.test(w)) { ++ var fp = re.exec(w); ++ re = new RegExp(mgr0); ++ if (re.test(fp[1])) { ++ re = /.$/; ++ w = w.replace(re,""); ++ } ++ } ++ else if (re2.test(w)) { ++ var fp = re2.exec(w); ++ stem = fp[1]; ++ re2 = new RegExp(s_v); ++ if (re2.test(stem)) { ++ w = stem; ++ re2 = /(at|bl|iz)$/; ++ re3 = new RegExp("([^aeiouylsz])\\1$"); ++ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); ++ if (re2.test(w)) ++ w = w + "e"; ++ else if (re3.test(w)) { ++ re = /.$/; ++ w = w.replace(re,""); ++ } ++ else if (re4.test(w)) ++ w = w + "e"; ++ } ++ } ++ ++ // Step 1c ++ re = /^(.+?)y$/; ++ if (re.test(w)) { ++ var fp = re.exec(w); ++ stem = fp[1]; ++ re = new RegExp(s_v); ++ if (re.test(stem)) ++ w = stem + "i"; ++ } ++ ++ // Step 2 ++ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; ++ if (re.test(w)) { ++ var fp = re.exec(w); ++ stem = fp[1]; ++ suffix = fp[2]; ++ re = new RegExp(mgr0); ++ if (re.test(stem)) ++ w = stem + step2list[suffix]; ++ } ++ ++ // Step 3 ++ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; ++ if (re.test(w)) { ++ var fp = re.exec(w); ++ stem = fp[1]; ++ suffix = fp[2]; ++ re = new RegExp(mgr0); ++ if (re.test(stem)) ++ w = stem + step3list[suffix]; ++ } ++ ++ // Step 4 ++ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; ++ re2 = /^(.+?)(s|t)(ion)$/; ++ if (re.test(w)) { ++ var fp = re.exec(w); ++ stem = fp[1]; ++ re = new RegExp(mgr1); ++ if (re.test(stem)) ++ w = stem; ++ } ++ else if (re2.test(w)) { ++ var fp = re2.exec(w); ++ stem = fp[1] + fp[2]; ++ re2 = new RegExp(mgr1); ++ if (re2.test(stem)) ++ w = stem; ++ } ++ ++ // Step 5 ++ re = /^(.+?)e$/; ++ if (re.test(w)) { ++ var fp = re.exec(w); ++ stem = fp[1]; ++ re = new RegExp(mgr1); ++ re2 = new RegExp(meq1); ++ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); ++ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) ++ w = stem; ++ } ++ re = /ll$/; ++ re2 = new RegExp(mgr1); ++ if (re.test(w) && re2.test(w)) { ++ re = /.$/; ++ w = w.replace(re,""); ++ } ++ ++ // and turn initial Y back to y ++ if (firstch == "y") ++ w = firstch.toLowerCase() + w.substr(1); ++ return w; ++ } ++} ++ ++ ++/** ++ * Search Module ++ */ ++var Search = { ++ ++ _index : null, ++ _queued_query : null, ++ _pulse_status : -1, ++ ++ init : function() { ++ var params = $.getQueryParameters(); ++ if (params.q) { ++ var query = params.q[0]; ++ $('input[name="q"]')[0].value = query; ++ this.performSearch(query); ++ } ++ }, ++ ++ /** ++ * Sets the index ++ */ ++ setIndex : function(index) { ++ var q; ++ this._index = index; ++ if ((q = this._queued_query) !== null) { ++ this._queued_query = null; ++ Search.query(q); ++ } ++ }, ++ ++ hasIndex : function() { ++ return this._index !== null; ++ }, ++ ++ deferQuery : function(query) { ++ this._queued_query = query; ++ }, ++ ++ stopPulse : function() { ++ this._pulse_status = 0; ++ }, ++ ++ startPulse : function() { ++ if (this._pulse_status >= 0) ++ return; ++ function pulse() { ++ Search._pulse_status = (Search._pulse_status + 1) % 4; ++ var dotString = ''; ++ for (var i = 0; i < Search._pulse_status; i++) ++ dotString += '.'; ++ Search.dots.text(dotString); ++ if (Search._pulse_status > -1) ++ window.setTimeout(pulse, 500); ++ }; ++ pulse(); ++ }, ++ ++ /** ++ * perform a search for something ++ */ ++ performSearch : function(query) { ++ // create the required interface elements ++ this.out = $('#search-results'); ++ this.title = $('

' + _('Searching') + '

').appendTo(this.out); ++ this.dots = $('').appendTo(this.title); ++ this.status = $('

').appendTo(this.out); ++ this.output = $('