$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: troy_at_[hidden]
Date: 2008-07-02 15:20:34
Author: troy
Date: 2008-07-02 15:20:34 EDT (Wed, 02 Jul 2008)
New Revision: 46999
URL: http://svn.boost.org/trac/boost/changeset/46999
Log:
Hopefully portable python modularize
Added:
   branches/CMake/release/tools/build/CMake/modularize.py   (contents, props changed)
Text files modified: 
   branches/CMake/release/libs/disjoint_sets/CMakeLists.txt |     1 -                                       
   branches/CMake/release/tools/build/CMake/BoostCore.cmake |    14 +++-----------                          
   2 files changed, 3 insertions(+), 12 deletions(-)
Modified: branches/CMake/release/libs/disjoint_sets/CMakeLists.txt
==============================================================================
--- branches/CMake/release/libs/disjoint_sets/CMakeLists.txt	(original)
+++ branches/CMake/release/libs/disjoint_sets/CMakeLists.txt	2008-07-02 15:20:34 EDT (Wed, 02 Jul 2008)
@@ -1,5 +1,4 @@
 boost_library_project(
   Disjoint_sets
   TESTDIRS test
-  HEADERS pending/disjoint_sets.hpp
 )
Modified: branches/CMake/release/tools/build/CMake/BoostCore.cmake
==============================================================================
--- branches/CMake/release/tools/build/CMake/BoostCore.cmake	(original)
+++ branches/CMake/release/tools/build/CMake/BoostCore.cmake	2008-07-02 15:20:34 EDT (Wed, 02 Jul 2008)
@@ -192,18 +192,10 @@
 
     if(THIS_PROJECT_HEADERS)
       add_custom_target(${LIBNAME}-modularize
-	COMMAND mkdir -p ${Boost_SOURCE_DIR}/libs/${libname}/include/boost
-	COMMAND rsync -a --exclude=".svn" --delete ${THIS_PROJECT_HEADERS} ${Boost_SOURCE_DIR}/libs/${libname}/include/boost/
-	# Uncomment this to see how clean your toplevel boost/ dir is afterwards
-	# COMMAND rm -rf ${THIS_PROJECT_HEADERS}
+	COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/build/CMake/modularize.py 
+	${Boost_SOURCE_DIR}/boost ${THIS_PROJECT_HEADERS} ${Boost_SOURCE_DIR}/libs/${libname}/include/boost
         WORKING_DIRECTORY ${Boost_SOURCE_DIR}/boost
-	COMMENT "Rsyncing ${THIS_PROJECT_HEADERS} to project include dir from toplevel boost dir"
-	)
-      add_custom_command(TARGET ${LIBNAME}-modularize
-	POST_BUILD
-	COMMAND rm -rf ${THIS_PROJECT_HEADERS}
-	WORKING_DIRECTORY ${Boost_SOURCE_DIR}/boost
-	COMMENT "Cleaning headers from ${LIBNAME} from toplevel boost dir"
+	COMMENT "Modularizing ${LIBNAME} headers to project-local dir from monolithic boost dir"
         )
       add_dependencies(modularize ${LIBNAME}-modularize)
     endif(THIS_PROJECT_HEADERS)
Added: branches/CMake/release/tools/build/CMake/modularize.py
==============================================================================
--- (empty file)
+++ branches/CMake/release/tools/build/CMake/modularize.py	2008-07-02 15:20:34 EDT (Wed, 02 Jul 2008)
@@ -0,0 +1,18 @@
+#!/usr/bin/python
+
+import shutil, sys, os, os.path
+srcdir = sys.argv[1]
+srcs = sys.argv[2:-1]
+dst = sys.argv[-1]
+
+print "%s => %s" % (srcs, dst)
+try:
+    shutil.rmtree(dst)
+except:
+    pass
+os.mkdir(dst)
+
+for src in srcs:
+    shutil.move(os.path.join(srcdir, src), os.path.join(dst, src))
+
+